获取正确的框架willRotateToInterfaceOrientation

ada*_*ton 5 iphone layout rotation orientation autoresize

在纵向和横向方向上,我的子视图具有不同的布局.布局基于超视图的框架,并不是微不足道的(使用自动弹簧和支柱无法实现).

问题是,如果我在willRotateToInterfaceOrientation期间更改子视图的框架,动画是正确的,但框架是superView仍然是旧方向的框架.

如果我在didRotateFromInterfaceOrientation期间更改了子视图,则帧是superView确实是正确的,但帧更改仅发生在旋转动画之后并且看起来不太好.

更改方向时更改子视图框架的正确方法是什么?

Aks*_*hay 3

我想你可以尝试覆盖layoutSubviews。在那里,您可以根据当前方向布局子视图,而不必担心 will/did RotateFromInterfaceOrientation。layoutSubviews每次布置视图时都会调用。这将帮助您确定帧随动画变化的时间。