美文网首页iOS-Objective-C
push的时候页面卡顿问题

push的时候页面卡顿问题

作者: 追沐 | 来源:发表于2017-12-04 00:06 被阅读12次

    在从A界面push到B界面的时候,页面会出现卡顿问题,这是怎么回事呢?怎么避免这个问题?

    (1)什么情况下会出现:
    从A控制器push到B控制器的时候,如果B控制器没有设置它的self.view的背景颜色的话,就会出现页面“卡顿”的现象,尤其是当A界面上有控件的时候卡顿现象很明显。

    (2)产生原因:
    产生原因是,1.UIViewController的默认颜色都是透明的;2.push的时候,B页面先覆盖在A页面上面,然后A页面从又往左的移出去。综合上面两个原因导致的“卡顿”现象。

    网上有说是因为透明颜色叠加导致的色值问题,感觉挺有意思,两个透明颜色的叠加会出现这个问题?透明颜色叠加不也是透明吗?

    (3)具体原因:
    A和B的页面背景都是透明的,push时,B覆盖在A上面,这时候,透过B页面,是能看见B页面的控件的。B页面要从又往左侧移出屏幕,这是需要一个过程的,而这个过程呈现在用户的眼前就是“卡顿”了一下。

    (4)实质:
    其实不是页面卡顿了,而是页面透明,通过B页面看见了A页面从又往左移除屏幕的过程。

    (5)解决
    一般的只要B页面的页面颜色不是透明的就不会看到这种“卡顿”的现象。解决办法就是给B页面加个背静颜色。后者在所有UIViewController的基类连设置背景色,使其不是透明的就行了。

    相关文章

      网友评论

        本文标题:push的时候页面卡顿问题

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