我有一个自定义 UIView,它有一个专门的、手动设置的纵向和横向框架,因为 autoresizingMasks 在我的情况下不起作用。
我将此框架设置为:
- (void)viewWillAppear:(BOOL)animated
它按预期工作。
我现在的问题是,我的 UIView 还具有子视图,这些子视图也有专门的纵向/横向位置。
我将这些子视图定位在:
- (void)layoutSubviews
如果我现在让我的 viewController 保持纵向,在另一个 viewController 上旋转到横向,然后返回到这个 viewController,我看到我的视图已正确调整大小,但我的视图的子视图(位于 layoutSubviews 中)尚未重新定位,但是在视图已经出现后以动画方式调整大小。
我在 viewDidAppear 中什么都不做,我已经尝试过调用
- (void)layoutIfNeeded
也:
- (void)setNeedsLayout
在viewWillAppear
,但它似乎并没有改变任何东西。
任何想法我做错了什么?