iOS 中 CALayer 的深入解析与应用
1. 图层重叠与显示
图层是否显示其子图层超出自身边界的区域,取决于其 masksToBounds
属性的值。这与视图的 clipsToBounds
属性类似,对于视图的底层图层来说,二者是相同的。在某些示例中,图层的 clipsToBounds
默认设置为 false
,所以右侧图层能超出其上层(中间层)的边界显示。
CALayer 和 UIView 一样,有一个 isHidden
属性,可将图层及其子图层从可见界面移除,而无需从其父图层中实际移除。
2. 操作图层层次结构
图层提供了一套完整的方法来读取和操作图层层次结构,类似于操作视图层次结构的方法。图层有 superlayer
属性和 sublayers
属性,以及以下方法:
- addSublayer(_:)
- insertSublayer(_:at:)
- insertSublayer(_:below:)
, insertSublayer(_:above:)
- replaceSublayer(_:with:)
- removeFromSuperlayer
与视图的 subviews