我正在寻找定位 UIView 子视图的最佳技术,以便考虑旋转。子视图的定位基于 UIView 的框架。
我的基本场景是一个顶级模态 UIViewController,它的视图包含一堆子视图。我得到了很好的旋转通知,但我正在努力寻找最好的设计模式,以便我的子视图在正常和旋转期间都得到纠正。
我正在使用 layoutSubviews 进行定位。layoutSubviews 在正常情况下(在视图创建期间)和旋转期间都被调用。问题是当它在旋转过程中被调用时,框架的宽度/高度还没有被翻转。因此,似乎我无法在此功能期间可靠地进行子视图定位。这似乎是设计中的一个重大缺陷,因为这正是这种方法的目的,对吧?
相反,当我现在正在做的是在我自己的函数中定位子视图,传递一个 CGRect 框架,我在旋转期间翻转并在正常子视图创建期间不理会(self.frame)。这个对吗?更好的解决方案?
谢谢。