当我的文本未填充 UITextView 时,它会按预期滚动到顶部。当文本超出屏幕所能容纳的范围时,UITextView 会滚动到文本的中间,而不是顶部。
以下是一些可能相关的详细信息:
在 viewDidLoad 中在 UITextView 的顶部和底部提供一些填充:
self.mainTextView.textContainerInset = UIEdgeInsetsMake(90, 0, 70, 0);
UITextView 使用自动布局将其固定在距屏幕顶部、底部和每一侧 20px 的位置(在 IB 中完成),以允许不同的屏幕尺寸和方向。
加载后我仍然可以用手指滚动它。
编辑
我发现删除自动布局约束然后修复宽度似乎只能解决问题,但仅限于该屏幕宽度。
将以下函数添加到您的视图控制器类中...
Swift 3
override func viewDidLayoutSubviews() {
self.mainTextView.setContentOffset(.zero, animated: false)
}
斯威夫特2.1
override func viewDidLayoutSubviews() {
self.mainTextView.setContentOffset(CGPointZero, animated: false)
}
目标C
- (void)viewDidLayoutSubviews {
[self.mainTextView setContentOffset:CGPointZero animated:NO];
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)