У меня есть собственный UIView, в котором есть выделенный вручную установленный фрейм для портретной и альбомной ориентации, потому что автоизменение размеров маски просто не работает в моем случае.
Я установил этот кадр в:
- (void)viewWillAppear:(BOOL)animated
И он работает, как ожидалось.
Моя проблема теперь в том, что мой UIView, кроме того, имеет подвиды, которые также имеют специальную позицию для портрета / ландшафта.
Я помещаю эти подпредставления в:
- (void)layoutSubviews
Если теперь я оставлю свой viewController в , например. портретная ориентация, повернуть в альбомную на другом viewController, а затем вернуться к этому viewController Я вижу, что размер моего представления был изменен правильно, но подпредставления моего представления, которые позиционируются в layoutSubviews, еще не перемещаются, но изменяются в размерах в анимированном мода после просмотра уже появилась.
Я ничего не делаю в viewDidAppear, и я уже пробовал вызвать
- (void)layoutIfNeeded
, а также:
- (void)setNeedsLayout
In viewWillAppear, но, похоже, это ничего не меняет.
Есть идеи, что я делаю не так?
Спасибо.