我的应用中有自动滚动功能。当它被激活时,我的代码会禁用textView滚动并使用CADisplayLink
更改contentOffset。
在早期版本的iOS中运行良好,但在第7个文本中出现裁剪。
进一步发现后,我发现在禁用textView滚动后,contentSize
被更改了一段时间。看起来像某种优化。但它不会考虑contentOffset
。
要重现此错误:
_textView.scrollEnabled = NO;
放入-viewDidLoad
在ViewController中添加:
- (void)viewDidAppear:(BOOL)animated {
[super viewDidAppear:animated];
[_textView setContentOffset:CGPointMake(0, 400) animated:YES];
}
问题是:当UITextView
设置为scrollEnabled
时,如何在iOS7中自动滚动NO
?
禁用滚动以停止可能UITextView
内置自动滚动插入位置更改并禁止用户与控件进行交互。
答案 0 :(得分:4)
如果您的文字在底部裁剪,而scrollEnabled为NO:
self.textContainerInset = UIEdgeInsetsMake(0.0f, 0.0f, -20.0f, 0.0f);
答案 1 :(得分:1)
不能完全解决问题,但作为一种解决方法,您可以允许启用滚动,但将UserInteractionEnabled设置为NO。
[_textView setScrollEnabled:YES];
[_textView setUserInteractionEnabled:NO];