默认情况下,UITextView的contentView会在文本内容超出其高度时变得可滚动。
我想要禁用此功能,而是更新UITextView的高度以适应文本。我这样做的原因是因为我将UITextView添加为UIScrollView的子视图,后者应该处理滚动,就像在本机邮件应用程序中一样(当您输入文本时,整个视图都会向上滚动,而不仅仅是textview)。
有人有想法/遇到过相同的问题吗?
默认情况下,UITextView的contentView会在文本内容超出其高度时变得可滚动。
我想要禁用此功能,而是更新UITextView的高度以适应文本。我这样做的原因是因为我将UITextView添加为UIScrollView的子视图,后者应该处理滚动,就像在本机邮件应用程序中一样(当您输入文本时,整个视图都会向上滚动,而不仅仅是textview)。
有人有想法/遇到过相同的问题吗?
可以非常简单地完成如下:
CGRect frame = textView.frame;
frame.size = textView.contentSize;
textView.frame = frame;
这应该将TextView的高度设置为适当地适合其所有内容。
-(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];