push的时候页面卡顿问题

在从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的基类连设置背景色,使其不是透明的就行了。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容