ScrollsToTop功能在iOS9中无法正常工作

时间:2016-06-09 08:18:39

标签: ios objective-c uitableview statusbar

我的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];
    }
}

4 个答案:

答案 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