默认情况下,当文本视图中的文本太多时,UITextView的contentView会变得可滚动。
我想禁用它,而是更新UITextView的高度以适应文本。我这样做的原因是因为我将UITextView添加为UIScrollView的子视图,它应该处理滚动,就像在本机Mail应用程序中一样(当你输入文本时,整个视图向上滚动,而不仅仅是textview
任何人都有一些想法/之前遇到过同样的问题?
答案 0 :(得分:20)
这样做非常简单:
CGRect frame = textView.frame;
frame.size = textView.contentSize;
textView.frame = frame;
这应该设置textview的高度以适合其所有内容。
答案 1 :(得分:9)
几乎没有什么变化:
-(void)textViewDidChange:(UITextView *)textView {
CGFloat fontHeight = (textView.font.ascender - textView.font.descender) + 1;
CGRect newTextFrame = textView.frame;
newTextFrame.size = textView.contentSize;
newTextFrame.size.height = newTextFrame.size.height + fontHeight;
textView.frame = newTextFrame;
}
当拼写错误时,添加字体高度为自动更正框提供了空间。
UITextView
也应该设置为不滚动:
[aTextView setScrollEnabled:NO];