繁体   English   中英

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

[英]ScrollsToTop feature is not working in iOS9 properly

我有一个UIViewController它有一个带有大数据的UITableView 我想在按下状态栏时实现scrolltotop的功能。

我通过我的故事板设置了很多UIView,所以我首先尝试为所有设置scrollsToTop = NO ,然后在viewDidLoadUITableView设置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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM