objective-c - 在一层上绘制多个 UIView

标签 objective-c ios uiview core-graphics

是否可以在单个 CALayer 上使用自定义绘图绘制多个 UIView,这样它们就没有后备存储?

更新:

我有几个相同大小的 uiviews 具有相同的 super View 。现在他们每个人都有自定义绘图。由于尺寸很大,他们在 iPad 3 上创建了 600-800 mb 的后备存储。所以我想在一个 View 上编写它们的输出,并且消耗的内存要少几倍。

最佳答案

每个 View 都有自己的图层,您无法更改它。

您可以启用 shouldRasterize展平 View 层次结构,这在某些情况下可能会有所帮助,但这需要 gpu 内存。

另一种方法是创建图像上下文并将绘图合并到图像中并将其设置为图层内容。

在去年的一个 wwdc session 视频中,一个关于绘图的视频展示了一个绘图应用程序,其中许多笔画被转移到图像中以加快绘图速度。

关于objective-c - 在一层上绘制多个 UIView,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12964346/

相关文章:

ios - UIView.layoutMargins 和 AlignmentRect 之间的区别

ios - UITableViewCell 不显示

ios - 如何验证电子邮件地址

ios - 试图从 Objective-C 转向 Swift VC

iOS - 如何让 UITextView 始终位于 UIImageView 之上?

ios - 单击搜索栏上的取消按钮时如何弹出自身 View Controller ?

ios - 如何在 View 中重叠 UIButton 和 UIImage?

javascript - iOS 上的 JQ UI 可拖动 : initiating dragging in taphold-handler

快速更改背景颜色并在 UIVIew 中有圆角?

ios - 删除UIView动画加速