iPhone - 使用 CALayers 而不是 UIViews
Posted
技术标签:
【中文标题】iPhone - 使用 CALayers 而不是 UIViews【英文标题】:iPhone - Using CALayers instead of UIViews 【发布时间】:2012-01-25 00:22:09 【问题描述】:我一直被告知,如果你想在视图中显示东西,你必须在其中添加子视图,然后再绘制到这些子视图中。
今天,我看到了这个问题(正在搜索其他内容):IPhone SDK: Camera access?
在接受的答案中,我看到它的作者使用 CALayers 将 4 个子“视图”绘制到主视图中,但所有这些仅基于 CALayers...
所以我想知道...为什么?这是正确的做法吗?什么会导致我使用 seblayers 而不是子视图?
【问题讨论】:
【参考方案1】:我一直在使用 UIViews 和 CALayers。这真的取决于你想要什么和需要什么。 UIView 在后台使用 CALayer,因此在任何一种情况下都使用 CALayer。请注意,在 UIView 中有一个 CALayer 类型的图层属性。然而,直接使用 UIView 编码更容易,但它并没有展示 Core Animation 的全部功能。使用 CALayer 编码确实会让您接触到 Core Animation 和许多其他 API。
如果您只是关心添加子视图,那么任何一种方法都可以。你可以认为 UIView 隐藏了一些 CALayer 的实现细节。
【讨论】:
以上是关于iPhone - 使用 CALayers 而不是 UIViews的主要内容,如果未能解决你的问题,请参考以下文章