UIImageView设置圆角时产生UI不流畅的解决方案
来源:互联网 发布:永恒之塔数据库4.7 编辑:程序博客网 时间:2024/03/29 06:52
在做一个NavigationController push 子页面时,发现push和pop时很卡,研究了一大阵子后,发现在子页面里影响UI流畅的只有UIImageView的圆角设置;然后我就关闭了圆角,重新运行果然流畅多了。但是产品的需求必须加圆角,没办法,去stackoverflow找方案,发现方法都大同小异,只不过是绘制上做一些优化。后来查看layer的头文件,最后找到了一个牛B的属性:
/* When true, the layer is rendered as a bitmap in its local coordinate * space ("rasterized"), then the bitmap is composited into the * destination (with the minificationFilter and magnificationFilter * properties of the layer applied if the bitmap needs scaling). * Rasterization occurs after the layer's filters and shadow effects * are applied, but before the opacity modulation. As an implementation * detail the rendering engine may attempt to cache and reuse the * bitmap from one frame to the next. (Whether it does or not will have * no affect on the rendered output.) * * When false the layer is composited directly into the destination * whenever possible (however, certain features of the compositing * model may force rasterization, e.g. adding filters). * * Defaults to NO. Animatable. */@property BOOL shouldRasterize;/* The scale at which the layer will be rasterized (when the * shouldRasterize property has been set to YES) relative to the * coordinate space of the layer. Defaults to one. Animatable. */@property CGFloat rasterizationScale;当shouldRasterize设成true时,layer被渲染成一个bitmap,并缓存起来,等下次使用时不会再重新去渲染了。实现圆角本身就是在做颜色混合(blending),如果每次页面出来时都blending,消耗太大,这时shouldRasterize = yes,下次就只是简单的从渲染引擎的cache里读取那张bitmap,节约系统资源。
额外收获:如果在滚动tableView时,每次都执行圆角设置,肯定会阻塞UI,设置这个将会使滑动更加流畅。
- UIImageView设置圆角时产生UI不流畅的解决方案
- UIImageView设置圆角时产生UI不流畅的解决方案
- UIImageView设置tintColor无效的解决方案
- 计算机卡顿、不流畅的原因分析及解决方案
- UI UIImageView的使用
- 【UNET自学日志】Part5 解决延迟产生的画面不流畅问题
- iOS 设置UIImageView的Image 图片比例不失真
- layer设置UIImageView圆形不圆的问题
- 设置UIImageView的UIViewContentMode
- 总是这么的不流畅
- ios UIImageView 设置图片 不变形
- uibutton和uiimageview图片不变形设置
- 为UIImageView设置手势不生效????
- UIImageView有时候设置contentMode不管用
- UI-UIImageView
- UI---UIImageView
- iOS的UI体验为什么那么流畅?
- Random 快速连续产生不相同随机数的解决方案
- HDU 4522 最短路
- hadoop使用经验收集
- UESTC 1525 Fruit Ninja(扫描线)
- 大型项目中C语言的模块化建议
- C++第5周项目2 - 分数类
- UIImageView设置圆角时产生UI不流畅的解决方案
- MySQL数据库管理常用命令
- socket套接口函数详解
- K线-楔形及角度变化中的操作技巧
- 第三次上机实验报告
- python的基础知识
- handler thread 使用 2
- HTML5之section与article与div
- arm+linux swap出错问题