【问题标题】:Adding Rounded Corners to UIImageView vs Pre-Rendering the UIImage?向 UIImageView 添加圆角与预渲染 UIImage?
【发布时间】:2011-05-13 23:39:07
【问题描述】:

我正在试验 UIImageView 的层,特别是添加圆角。

我的问题是, 执行以下操作对性能有什么影响(如果有):

[self.imgView.layer setCornerRadius:10.0f];
[self.imgView.layer setMasksToBounds:YES];
[self.imgView.layer setBorderWidth:2.0f];
[self.imgView.layer setBorderColor:[[UIColor yellowColor] CGColor]];

事先“预渲染”图像。

谢谢

【问题讨论】:

    标签: iphone uiimageview rounded-corners cglayer


    【解决方案1】:

    CoreAnimation 通常非常快 - 事实上,太快了,不用担心。

    因此,如果原始图像可以具有任何值,或者您以后可能需要不同的边框,请使用这些 CALayer 属性。

    只有在边框模式一成不变的情况下,我才会使用预渲染。此外,当涉及到遮罩时,CA 可能会不时加快处理速度,因为它允许您使用不透明图像而不是透明图像,因此需要 Alpha 混合的区域要小得多(但没有硬数字那个)。

    【讨论】:

    • 我发现的一个例外是,如果您将频繁更改图像视图的image 属性,例如当它是可重用表格视图单元格的一部分时。在这种情况下,我发现预渲染可以提供明显更平滑的滚动(至少在最初的 iPhone 上,并且在较小程度上,3GS 上)。
    • 谢谢大家,感谢您抽出宝贵时间回复。
    猜你喜欢
    • 1970-01-01
    • 2015-11-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-12-04
    • 2013-04-10
    • 2010-09-20
    • 1970-01-01
    相关资源
    最近更新 更多