[英]ScrollsToTop feature is not working in iOS9 properly
我有一个UIViewController
它有一个带有大数据的UITableView
。 我想在按下状态栏时实现scrolltotop的功能。
我通过我的故事板设置了很多UIView,所以我首先尝试为所有设置scrollsToTop = NO
,然后在viewDidLoad
为UITableView
设置scrollsToTop = YES
。
相同的设置/配置适用于iOS8
但不适用于iOS9
。
我已应用以下代码禁用开始时所有子视图的滚动:
- (void)disableScrollsToTopPropertyOnAllSubviewsOf:(UIView *)view {
for (UIView *subview in view.subviews) {
if ([subview isKindOfClass:[UIScrollView class]]) {
((UIScrollView *)subview).scrollsToTop = NO;
}
[self disableScrollsToTopPropertyOnAllSubviewsOf:subview];
}
}
尝试使用内容偏移量
self.tableView.contentOffset = CGPointMake(0, 0 - self.tableView.contentInset.top);
确保在viewDidAppear
上调用它:
- (void)viewDidAppear:(BOOL)animated {
[super viewDidAppear:animated];
// Call scroll to top here
}
我希望这可以提供帮助。
幸运的是,这开始在iOS 10.0中完美运行
您可能在视图层次结构中有多个UIScrollView
,并且您只需要将要滚动的顶部设置为“是”,其他设置为scrollsToTop = No;
。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.