千家信息网

iOS如何实现无卡顿同时使用圆角、阴影和边框

发表于:2026-11-03 作者:千家信息网编辑
千家信息网最后更新 2026年11月03日,小编给大家分享一下iOS如何实现无卡顿同时使用圆角、阴影和边框,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!在 iOS 开
千家信息网最后更新 2026年11月03日iOS如何实现无卡顿同时使用圆角、阴影和边框

小编给大家分享一下iOS如何实现无卡顿同时使用圆角、阴影和边框,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!

在 iOS 开发中,最怕看到设计稿里圆角、阴影和边框同时出现,这三兄弟简直就是性能杀手。

优化的方法百度一下有很多,虽然方法不同但是原理都一样。

分享一个我自己一直使用的方法:在一个 View 里只应用一种效果,然后通过组合的方式达到效果。

override init(frame: CGRect) { super.init(frame: frame) imageView = UIImageView(image: UIImage(named: "img")) imageView.layer.cornerRadius = 14 imageView.layer.masksToBounds = true backgroundView = imageView shadowView = ShadowView() shadowView.layer.cornerRadius = 20 shadowView.applyShadow(.black, CGSize(width: 0, height: 15), 0.2, 40) insertSubview(shadowView, belowSubview: imageView) contentView.layer.cornerRadius = 14 contentView.layer.borderWidth = 1 contentView.layer.borderColor = UIColor.orange.cgColor contentView.layer.masksToBounds = true}

层次结构:

contentView: 描绘边框,放在最上层。 imageView: 显示圆角,放在中间,用于背景图。 shadowView: 显示阴影,放在最底层。代码很简单,只是封装了一下阴影参数:

class ShadowView: UIView { private var shadowColor: UIColor? private var shadowOpacity: CGFloat = 1 private var shadowOffset: CGSize = CGSize(width: 0, height: 3) private var shadowBlur: CGFloat = 6 override func layoutSubviews() { super.layoutSubviews() updateShadow() } func applyShadow(_ color: UIColor?, _ offset: CGSize, _ opacity: CGFloat, _ blur: CGFloat) { shadowColor = color shadowOffset = offset shadowOpacity = opacity shadowBlur = blur updateShadow() } private func updateShadow() { layer.shadowColor = shadowColor?.cgColor layer.shadowOffset = shadowOffset layer.shadowOpacity = Float(shadowOpacity) layer.shadowRadius = shadowBlur * 0.5 layer.shadowPath = UIBezierPath(roundedRect: self.bounds, cornerRadius: layer.cornerRadius).cgPath }}

分开单独绘制速度很快,使用 UICollectionView 进行滚动测试,生成的 Cell 数量是 1 万个。

测试机器是 5s + iOS 12.4.4,快速滑动无任何卡顿。

以上是"iOS如何实现无卡顿同时使用圆角、阴影和边框"这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注行业资讯频道!

阴影 圆角 边框 同时 卡顿 方法 篇文章 内容 效果 测试 不同 上层 不怎么 代码 兄弟 原理 参数 只是 大部分 就是 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 互联网科技公司经营范围 互联网科技公司起名 科技互联网企业 互联网和科技技术 科技制造互联网公司 互联网 卓越科技 人人互联网科技是培训 互联网实体化科技化 深圳前海聚择互联网科技有限公司 茂名市互联网科技产业园 青岛科技大学互联网大赛研究生 成都互联网科技公司工作好不好 燊美集互联网科技有限公司 互联网公司黑科技创始人 卓翼科技产业互联网合作 锡山区互联网智能科技产品供应 广州百诚互联网科技有限公司官网 上海互联网科技公司ppt 陕西彩京云互联网科技有限公司 瑞安市蟠桃会互联网科技有限公司 广州为想互联网科技有限公司 广东猪兼强互联网科技有限公司 互联网金融公司科技 深圳期待互联网科技 武汉健翔互联网络科技有限公司 晓花互联网科技有限公司网址 健康食品互联网创新科技园项目 长沙互联网科技 互联网时代高科技布局 科技互联网专业工作会议发言稿
0