Если ландшафтный макет полностью отличается от портретного макета, я просто загружаю все подпредставления в init-метод моего UIView
-подкласса и добавляю их как подпредставления.
Вся магия совершается в методе layoutSubviews
, где я проверяю, в какой ориентации я нахожусь в данный момент. Никогда не вызывайте alloc
, addSubview
, removeFromSuperview
, ... методы в layoutSubviews
. layoutSubviews
должен содержать только код, который устанавливает свойства frame
для подпредставлений.
Ссылаясь на ваши проблемы:
представление не появляется: возможно, забыл addSubview
-call
представления меняются до поворота экрана: вы, вероятно, обновляете некоторые свойства фрейма подпредставлений вне layoutSubviews
-метода