iOS 滚动条被子视图遮挡解决方案

在 iOS 13 以后,滚动条在停止滚动后的显示时间已经延长了1s以上,如果在滚动条没有隐藏时去刷新视图,可能会导致滚动条被子视图遮挡住,接着再滑动的时候就会出现滚动条在子视图下方的情况,只有当滚动条隐藏后再显示时,才会正常显示在最上面。

暂时想到的解决方法是在刷新时,把滚动条移到视图最上层位置。


以 scrollView 为例来说明下如何解决这样的问题:

if (@available(iOS 13, *)) {
        for (UIView *view in self.mainScrollView.subviews) {
            Class class = NSClassFromString(@"_UIScrollViewScrollIndicator");
            if ([view isKindOfClass:class]) {
                [self.mainScrollView bringSubviewToFront:view];
            }
        }
}

你可能感兴趣的:(iOS 滚动条被子视图遮挡解决方案)