我有一个UITableViewCell
子类,backgroundView
设置为我自己的UIView
对象。此UIView
对象包含三个CALayer
图层。我实施了- (void)layoutSubviews
,我更新了所有CALayer
图层。问题是自转。
当我从横向模式旋转到纵向模式时,存在这个美容问题:
在动画期间,我的所有CALayer
图层都与纵向模式一样窄。
看来这家伙是对的:
在方向更改期间调用
layoutSubviews
时,视图的边界已经设置为旋转结束时的结果。
那么,我应该在哪里更新我的图层以实现正确的自动旋转?视图已经旋转它们,所以我想没有必要做任何自定义动画,只需调整大小。正确?
答案 0 :(得分:2)
想出来:
CALayer
+将子图层添加到其中CALayer
的{{1}}方法子类- (void)layoutSublayers
+覆盖UIView
:
+ (Class)layerClass
将子类+ (Class)layerClass {
return [SubclassedCALayer class];
}
设为UIView
的{{1}}