TextView.contentSize.width无法设置UITextView的.frame.size.width。
[TextView setFrame:CGRectMake(TextView.frame.origin.x, TextView.frame.origin.y, TextView.contentSize.width, TextView.contentSize.height)];
将UITextView的帧高设置为contentSize.height属性,可使视图的帧缩放到适合当前内容垂直大小的大小。由于某种原因,视图框架的宽度不会以相同的方式响应。无论文本输入量是多少,它都保持相同的大小。
当我动态记录UITextView的内容时,当我在视图中键入文本时,height属性会更改(在每个换行符处),而宽度则不会。让我想知道宽度属性正在做什么,它是什么。
答案 0 :(得分:1)
试试这种方式..
UIFont *font = [UIFont fontWithName:@"Enriqueta" size:15];
NSString *text = @"Your text";
CGSize frameSize = [text sizeWithFont:font];
CGRect originalFrame = textViewA1.frame;
textViewA1.frame = CGRectMake(CGRectGetMinX(originalFrame), CGRectGetMinY(originalFrame), frameSize.width, frameSize.height);
答案 1 :(得分:1)
根据UITextView的宽度,它应该是这样的:
UIFont *myFont = [UIFont boldSystemFontOfSize:15.0]; //your font specification here
NSString *strText = yourTextView.text;
CGSize strsize = [strText sizeWithFont:myFont
forWidth:yourTextView.frame.size.width
lineBreakMode:UILineBreakModeWordWrap]; //get string size
yourTextView.frame = CGRectMake(yourTextView.frame.origin.x,yourTextView.frame.origin.y,strsize.width,strsize.height+10); //change accordingly