美文网首页
iOS:点击statusBar滚动到顶部

iOS:点击statusBar滚动到顶部

作者: Peak_Liang | 来源:发表于2019-08-26 17:41 被阅读0次
    image1.png

    早在iOS 2.0 的时候,OC就给出了这个名为 scrollsToTop 的属性,可以允许用户通过点击状态栏返回可滚动页面的顶部,而且这个属性的默认值为YES。所以这是一个不需要实现的功能,官方给出的两个代理方法也帮助我们完美的定制这个功能。

    1. scrollViewShouldScrollTop

    和其他代理一样,scrollsToTop 相关代理允许你在点击之后选择控制是否执行此操作,我们可以通过这个代理方法选择符合自己需求方案的时机执行。

    2. scrollViewDidScrollToTop:message

    我们可以在这个代理方法中获得 scrollsToTop 执行完毕的时机,而后继续执行自己想执行的操作。

    除了官方给出的一系列便利之外,scrollsToTop 在使用过程中还有一个限制

    image2.png

    在手机上,如果同时存在多个 scrollsToTop 设置为 YES 的情况,则这个属性没有效果。换言之,系统懵圈了!她选择放弃。而 scrollsToTop 的默认值是 YES 。也就是说,如果我们同一界面存在多个 scrollView (包含子类,后省略),则需要将除需要执行 scrollsToTop 效果的 scrollView 之外的所有 scrollView 设置

      scrollView.scrollsToTop = NO;
    

    如果是 scrollView 重叠布局,很可能会出现滚动冲突的情况,所以我们很少会使用这种方式布局。出现这种情况多是页面中存在多个小区域需要滑动显示,比如横滑显示更多内容,以提高屏幕空间利用效率。所以在这种布局中,如果我们需要为整个页面保留 scrollsToTop 的效果,就要注意对有限个或量产的滑动区域进行设置。

    相关文章

      网友评论

          本文标题:iOS:点击statusBar滚动到顶部

          本文链接:https://www.haomeiwen.com/subject/eipdectx.html