我正在寻找一种让CALayer在子层更改时自行调整大小的方法(这意味着当任何子层的边界发生变化或者子层阵列本身发生变化时)。
当我之前处理过视图时,我通过在我的自定义UIView子类中实现sizeThatFits来管理它,每当视图的子视图发生更改时,sizeToFit会自动调用它。
由于CALayer具有sizeThatFits-equivalent-method preferredSize,我很惊讶没有找到sizeToFit等价物。
答案 0 :(得分:0)
我认为你需要实现(覆盖)- (void)layoutSublayers
...
*子类可以覆盖它
*提供自己的布局算法,应该设置框架
*每个子层
- (void)layoutSublayers
{
// self.frame = aNewSubLayer.bounds
// basically do algorithm for setting frame and bounds for this(self) layer and subLayers here
}