2012-06-14 4 views
3

Я изучаю эту проблему пару дней, и у меня нет четкого ответа.Универсальное приложение для iOS для портрета и пейзажа с использованием раскадровки

Ответ размещен по следующей ссылке близко и описывает использование двух сюжетных плат: 2 storyboards for portrait and landscape

Другим решением является создание другого вида в пределах одного контроллера просмотра и скрыть/показать.

Проблемы с этими решениями заключаются в том, что в первом случае данные необходимо скопировать в новый контроллер и могут вызвать проблемы с состоянием. В последнем решении, если я использую два представления, мне нужно создать дубликаты IBOutlets для каждого члена в представлении!

Я хотел бы просто сделать следующее:

  1. Создать раскадровку, которая содержит портрет и пейзажный.
  2. Установите отдельную розетку для каждого свойства, с которым можно ссылаться каждый вид.
  3. Повернуть вид по мере необходимости.

Надеюсь решить эту проблему, прежде чем спуститься по неправильной скважине кролика.

ПРИМЕЧАНИЕ. Раскадровка не позволяет перемещать UIView за пределами иерархии для целей дизайна. Я могу сделать это в .xib-файлах. Это означает, что если у меня есть портрет и ландшафтный вид в .xib, я могу физически перемещать их в отдельные области для их редактирования. Раскадровки не позволяют этого, поэтому я должен был бы создать отдельный контроллер просмотра в ландшафтном режиме, отредактировать его, а затем переместить вид на место. Однако было бы больно вносить изменения в будущем.

Любая помощь приветствуется.

ответ

1

Я нашел лучший способ справиться с ландшафтом, обрабатывая его в коде. Зачем использовать дополнительную раскадровку для перемещения или скрытия элементов пользовательского интерфейса? Это кажется менее удобным. Кроме того, обработка вращения в том же контроллере представления покажет анимацию пользовательского интерфейса при перемещении элементов.

Надежды, которые помогут вам в правильном направлении.

+0

Это правильно. В некоторых представлениях вы можете использовать автозапуск для правильного отображения вашего представления, но если есть сложное изменение, вам нужно сделать это в коде. –

Смежные вопросы