我为自定义 View 又添加了一个CALayer,代码为
hostedGraphLayer.frame = self.layer.bounds;
[self.layer addSublayer:hostedGraphLayer];
当设备方向改变时, View 层的子层也会旋转,但不会相对于 View 自动调整大小。图层不会具有iOS的autoresize属性。
stackOverFlow中已经存在的答案之一是CALayers didn't get resized on its UIView's bounds change. Why?。在这种情况下,设置设备的方向改变时图层的帧,图层在旋转开始和结束之间不会根据其 View 自动调整大小,这可以通过在模拟器中切换缓慢的动画来清楚地看到。
此问题是否有任何解决方法:“旋转 View 时,其图层也会旋转,因此应调整其 View 的大小”。
最佳答案
没有,对此没有内置的修复程序。
您必须更改其框架。
如果我错了,请纠正我。
关于ios - 更改设备方向后,iOS中的CALayer自动调整大小,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/22292613/