См. Раздел «Поведение при изменении размера» в концептуальном руководстве Windows and Views на сайте Apple. Это объясняет, как добиться автоматического поворота от портрета к ландшафту и обратно без использования Interface Builder и без необходимости вручную реализовывать сложные преобразования.
Что касается поворота пользовательского содержимого и отключения прокрутки, см. shouldAutorotateToInterfaceOrientation:interfaceOrientation
, willRotateToInterfaceOrientation:duration:
и didRotateFromInterfaceOrientation:
в UIViewController
. Вы можете реализовать эти методы, чтобы перехватывать события вращения, проверять, в какую ориентацию вы двигаетесь, и позаботиться о ваших пользовательских чертежах и настройке свойств там.
Редактировать
В ответ на ваш комментарий я нашел этот бит из Руководства по программированию табличного представления от Apple:
UITableView наследуется от
UIScrollView, который определяет прокрутку
поведение для просмотров с содержанием больше
чем размер окна.
UITableView переопределяет прокрутку
поведение, позволяющее вертикальную прокрутку
только.
Возможно, Apple посчитала горизонтальную прокрутку табличных представлений противоречащей руководящим принципам взаимодействия с человеком. Интересно, не могли бы вы переопределить поведение прокрутки, если вы вложили в подкласс UITableView
, но это, вероятно, было бы кучей проб и ошибок. Если вы действительно можете достичь этого, я уверен, что многим здесь будет интересно, как вы это сделали. Некоторое время я искал, пытаясь найти решения других людей, но ничего не смог найти.
Опять же, Apple может не позволить вашему приложению войти в магазин приложений, если вы сделали это, при условии, что оно действительно сломает HIG.