Это действительно зависит от того, что именно вы планируете.
Если вы посмотрите приложение Apple Settings, вы увидите, что они используют представления таблиц для макета с настраиваемыми ячейками для большинства строк. Благодаря этому вы можете позволить простому интерфейсу вращаться довольно дешево, просто заполнив ширину ячеек. Это относится даже к вещам вроде Mail, где в каждой строке есть текстовые ячейки редактирования. И таблицы могут быть легко прозрачными, только видимыми только кнопки или ярлыки, поэтому они не выглядят как таблицы.
Вы можете получить много средств из авторезистивного макета каждого UIView. Если у вас есть один или несколько элементов, которые могут иметь гибкую высоту, вы обычно можете получить макет интерфейса, который хорошо выглядит в любой ориентации. В зависимости от того, как это выглядит, иногда вы можете просто прикрепить все к вершине.
В редких случаях, если все элементы интерфейса соответствуют квадрату, вы можете просто повернуть их на место.
Существует два раза, когда вы должны явно обрабатывать изменения ориентации. Один из них - это когда вид поворачивается рядом с другим под вращением. Другая - когда у вас разные изображения для каждой ориентации, например, если вы всегда хотите иметь полную ширину.
Иногда есть способы обойти их оба. Вы можете использовать растягивающиеся изображения или ограничить себя одним видом на строку. Или вы можете заблокировать ориентацию для определенных видов.
Если вы должны изменить макет представлений, существует явный метод layoutSubviews.Вы должны попытаться обработать все условные макеты в этом методе. Он вызывается только тогда, когда изменяются границы вида, например, при вращении или если вы освободили место для клавиатуры. Создайте пользовательский вид для каждой иерархии представлений, которая должна отвечать на поворот, и отложите подпрограммы оттуда.
да, это своего рода то, что я делаю сейчас ... спасибо – Mark
метод willRotateToInterface для меня никогда не называется. Вам нужно что-то подключить или добавить слушателя в IB или что-то еще? –
Это отличный пример, который я искал. любой альтернативный пример? –