我的UIViewController
UITableView
有大量数据。我想在按下状态栏时实现scrolltotop的功能。
我在故事板中设置了很多UIView,因此我首先尝试为所有设置scrollsToTop = NO
,然后在scrollsToTop = YES
中专门为UITableView
设置viewDidLoad
。
相同的设置/配置适用于iOS8
,但不适用于iOS9
。
我已应用以下代码禁用开始时所有子视图的滚动:
- (void)disableScrollsToTopPropertyOnAllSubviewsOf:(UIView *)view {
for (UIView *subview in view.subviews) {
if ([subview isKindOfClass:[UIScrollView class]]) {
((UIScrollView *)subview).scrollsToTop = NO;
}
[self disableScrollsToTopPropertyOnAllSubviewsOf:subview];
}
}
答案 0 :(得分:0)
使用内容偏移
尝试self.tableView.contentOffset = CGPointMake(0, 0 - self.tableView.contentInset.top);
答案 1 :(得分:0)
请务必在viewDidAppear
上调用它:
- (void)viewDidAppear:(BOOL)animated {
[super viewDidAppear:animated];
// Call scroll to top here
}
我希望这可以提供帮助。
答案 2 :(得分:0)
幸运的是,这开始在iOS 10.0中完美运行
答案 3 :(得分:0)
您的视图层次结构中可能有多个stat_
,并且您只需要将要滚动的顶部设置为“是”,将其他设置为UIScrollView
。