iOS开发 高性能添加圆角(支持4个不同半径)

在开发中,添加圆角似乎再常见不过了。不过它带来的性能问题以及离屏渲染问题,也受到部分开发者的注意。

如何才能在不影响性能的前提下添加圆角呢?

相信大家也看过很多博客,写得也很不错,都是这种解决办法。我随便列举几个

  • 通过设置 CALayermask属性来切,这个无法避免离屏渲染,不推荐。
  • 通过 UIGraphicsBeginImageContextWithOptions()创建一个 Image 的图形上下文,在上面绘制 path 并裁剪,最终生成新的 UIImage,这个可行,但是图片尺寸是有限制的,如果 size 过大,会导致内存暴涨,扛不住,直接GG
  • iOS 9 之后,UIImageView设置png格式的图片时,并且没有 backgroundColor时,设置其 layercornerRadius不会触发离屏渲染。

好消息!好消息!WWCD 2018 告诉我们,有 UIGraphicsImageRenderer这么一个类,它比 UIGraphicsBeginImageContextWithOptions()这个方法要降低75%的内存消耗!

坏消息是什么?它只支持 iOS 10 以上的版本。

那么 iOS 10 之前࿰

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值