Dav*_*Liu 6 iphone calayer uikit uiimageview
我注意到我在应用程序中使用图像执行的一些操作,我可以使用CALayer属性(即边框,阴影,渐变等).所以我想知道,一般来说,使用CALayers等更好的想法,或者只是在photoshop中做所有这些东西并使用UIImage(View)来满足我的需求?下拉阴影和东西的滚动性能有点慢,所以我基本上试图找到我能做的每一个小优化.
背景信息:我基本上只是垂直滚动一堆图像.有点像照片应用程序.这是从3.2开始的,所以我可以访问CALayer中的shadow和shouldRasterize属性.
Noa*_*oon 15
关于CALayer阴影的一个关键事项是它们默认是从图层的合成alpha通道渲染出来的; 这可能非常慢,特别是当图层旋转或改变大小时.你应该研究一下这个shadowPath属性:如果你给Core Animation一个简单的形状,比如一个矩形(UIBezierPath +bezierPathWithRect:这个图层bounds会给你[通过它的CGPath属性] CGPathRef你可以在那里使用),你会看到更好的性能.
shouldRasterize也非常有用,特别是对于有许多不经常更改的子视图的视图; 但是,请确保您将图层设置rasterizationScale为[UIScreen mainScreen].scale,或者您将在iPhone 4等高分辨率屏幕上获得一些令人讨厌的像素化.