我对UITextView
的大小调整有疑问。我有一个驻留在UIView
容器内的textview。当应用程序启动时,容器只显示工具栏,当用户点击它时,textview的UIView
被添加为容器的子视图,并显示文本。当用户再次点击工具栏上时,UITextView
的视图将从其超级视图(容器)中删除,依此类推。
每当我需要调整textview的大小时,我会使用以下代码计算它的维度并记录该值,它们是正确的。
CGSize size = [stringToUse sizeWithFont:[self.synthesisTextView font]
constrainedToSize:CGSizeMake(synthesisTextViewBounds.size.width, FLT_MAX)
lineBreakMode:NSLineBreakByWordWrapping];
[self.synthesisTextView setScrollEnabled:YES];
[self.synthesisTextView setContentSize:CGSizeMake(synthesisTextViewBounds.size.width,
size.height + 50)];
[self.synthesisTextView setFrame:CGRectMake(synthesisTextViewFrame.origin.x,
synthesisTextViewFrame.origin.y,
synthesisTextViewBounds.size.width,
size.height + 50)];
[self.synthesisLabel setFrame:CGRectMake(self.synthesisLabel.frame.origin.x,
self.synthesisLabel.frame.origin.y,
self.synthesisLabel.frame.size.width,
size.height + 50)];
即使UITextView
具有正确的维度,也会出现文本被截断的特定情况。
以下是我执行的步骤:
UITextView
然后调整大小。我如何解决我的情况?
非常感谢!!
侨!!
答案 0 :(得分:0)
//textView Height as per content
CGRect frame = viewNote.frame;
NSLog(@"Text Size height : %f",frame.size.height);
CGSize textViewSize;
if (isIPhone) {
textViewSize = [viewNote.text sizeWithFont:[UIFont fontWithName:@"Helvetica" size:20]
constrainedToSize:CGSizeMake(309, 10000)
lineBreakMode:UILineBreakModeTailTruncation];
}else{
textViewSize = [viewNote.text sizeWithFont:[UIFont fontWithName:@"Helvetica" size:30]
constrainedToSize:CGSizeMake(768, 10000)
lineBreakMode:UILineBreakModeTailTruncation];
}
frame.size.height = textViewSize.height;
viewNote.frame = frame;