在做项目过程中,我遇到这样一个坎:
如图所示:这是一个字符串,在那些横线的位置我需要添加文本框来供填写。几经周折,我用了一个比较古老的方法把这个问题解决了。
贴上代码看看吧:
//
// Layout5Controller.m
// happylearning
//
// Created by WuShuliang on 16/3/25.
// Copyright © 2016年 ajing. All rights reserved.
//
#import "Layout5Controller.h"
#import "ContentController.h"
#import <CoreText/CoreText.h>
#define LINE @"____________"
@interface Layout5Controller ()<UITextFieldDelegate>
{
NSString *_questionString;//"\n"分割后数组中的元素
NSString *questionString;//LINE分割后数组中的元素
NSMutableArray *arrayQuestion;//根据LINE把字符串分割存储在数组中
NSMutableArray *_arrayQuestionWidth;//"\n"分割后数组中的元素存进去
NSMutableArray *_arrayQuestionHeight;//"\n"分割后数组中的行数存进去
}
@end
@implementation Layout5Controller
- (void)viewDidLoad {
[super viewDidLoad];
_txtAnswer.delegate=self;
_questionString=[[NSString alloc]init];
questionString=[[NSString alloc]init];
arrayQuestion=[[NSMutableArray alloc]initWithCapacity:0];
_arrayQuestionWidth=[[NSMutableArray alloc]initWithCapacity:0];
_arrayQuestionHeight=[[NSMutableArray alloc]initWithCapacity:0];
}
- (void)viewDidAppear:(BOOL)animated
{
// _lblAnswer1.lineBreakMode = UILineBreakModeWordWrap;//换行模式。
[self forCreateText];
}
//创建文本框
- (void)forCreateText
{
//1.根据“\n”把整个字符串分割存放在数组中
NSArray *arrayNo1=[_strQuestion componentsSeparatedByString:@"\n"];// 这里的_strQuestion就是一个字符串
NSMutableArray *arrayQuestionNo1=[NSMutableArray arrayWithArray:arrayNo1];
//创建变量,计算整个句子的高度
CGSize detailSize = [@"the" sizeWithFont:[UIFont systemFontOfSize:19] constrainedToSize:CGSizeMake(MAXFLOAT, MAXFLOAT) lineBreakMode:UILineBreakModeWordWrap];
//创建变量,计算“_________”的高宽度