Пользовательский альбомный / портретный вид

#iphone #ios #user-interface #view #landscape-portrait

#iPhone #iOS #пользовательский интерфейс #Вид #пейзажно-портретный

Вопрос:

Я хотел бы, чтобы мои кнопки были расположены определенным образом для моего портретного вида и по-другому для моего альбомного вида. Я также хотел бы иметь возможность добавлять в свой альбомный вид то, что сейчас могло бы быть в моем портретном виде. Причины, по которым я знаю, что это возможно, очевидно, в приложении calculator, которое поставляется с каждым iphone. Когда вы наклоняете его вбок в альбомную ориентацию, появляется совершенно новый набор кнопок. Кто-нибудь знает, как создать пользовательский портретный вид, который загружается, когда iphone находится правой стороной вверх, и как создать пользовательский альбомный вид, когда iphone лежит на боку с разными кнопками?

Ответ №1:

Вы можете попробовать использовать два отдельных файла с наконечниками для каждой ориентации. Вы можете настроить кончик на основе этого.

Комментарии:

1. Вот ссылка на документы Apple, чтобы узнать, как именно это сделать: developer.apple.com/library/ios/#featuredarticles /…

2. это то, что я сейчас делаю, чтобы сохранить оба наконечника, но я не знаю, как переключать файлы наконечников, поворачивая iphone

3. хорошо, теперь он переключается, и это здорово, но мой альбомный файл с наконечником неработоспособен (практически нет кода, за исключением того, что для его поворота используется wat). Нужно ли мне просто скопировать и вставить код, который я использую в портретном режиме для всех кнопок (потому что многие из них одинаковы), или есть более эффективный способ сделать это?

4. Привет, 7KV7.. Спасибо за ваш ответ. По которому я могу определить, что это возможно. Но я застрял в раскадровке. Как добиться того же с помощью stroyboard. Любая помощь высоко ценится

Ответ №2:

  1. Создайте два разных контроллера просмотра (например, файлы NIB или элементы в вашей раскадровке). Вызовите классы MyViewControllerLandscape и MyViewControllerPortrait.

  2. Создайте третий класс контроллера просмотра программно. Назовите его MyViewController и сделайте его родительским классом контроллеров landscape и portrait.

    Это позволяет поместить весь общий код для двух контроллеров в родительский класс и поместить только код, специфичный для ориентации, в два других.

  3. Следуйте инструкциям на http://developer.apple.com/library/ios/#featuredarticles/ViewControllerPGforiPhoneOS/BasicViewControllers/BasicViewControllers.html#//apple_ref/doc/uid/TP40007457-CH101-SW26 чтобы увидеть, как переключаться между альбомным и портретным контроллерами просмотра.