sou*_*ned 6 objective-c uitextview ios
在iOS 7和/或8中,UITextView以编程方式滚动到顶部按预期方式工作viewDidLoad:
[self.someTextView scrollRangeToVisible:NSMakeRange(0, 0)];
Run Code Online (Sandbox Code Playgroud)
现在它只是加载到我的其他框架.我的猜测是它正在加载到我的contentOffsetUIEdgeInsetsMake(0, 0, 65, 0)
我如何使这项工作> = iOS9?
注意:我已经尝试过viewDidAppear没有结果
编辑问题出现在我的UITextView文本大于其视图高度的情况下.我UIEdgeInsets之所以使用,是因为视图是以模态呈现的,并且比屏幕边界稍大.但是,scrollRangeToVisible在这种情况下仍然可以使用iOS 7/8而不是iOS9
小智 5
我在iOS 9上遇到了同样的问题,这个解决方法修复了它:
@property (nonatomic) bool workaroundIOS9Bug;
- (void)viewDidLoad {
self.workaroundIOS9Bug = [[UIDevice currentDevice].systemVersion floatValue] >= 9.0;
}
-(void)viewDidLayoutSubviews {
if (self.workaroundIOS9Bug) {
self.textView.contentOffset = CGPointZero;
self.workaroundIOS9Bug = false;
}
}
Run Code Online (Sandbox Code Playgroud)
这意味着,只有在第一次布置子视图时才需要额外清除contentOffset.当用户旋转屏幕或在视图中做其他事情时,一直这样做会很痛苦.
| 归档时间: |
|
| 查看次数: |
3688 次 |
| 最近记录: |