Чистые способы управления ротацией устройств с iOS 4.x - PullRequest
0 голосов
/ 06 декабря 2011

Я всегда зацикливаюсь на управлении ротацией в приложении iOS, должен быть какой-то эффективный способ сделать это, но, видимо, я еще не слышал об этом. Мой интерфейс слишком сложен, чтобы его можно было параметризовать в InterfaceBuilder, поэтому я попытался сделать все эти разные вещи:

  • Создайте два интерфейса, один для портрета и один для ландшафта, но я обнаружил, что очень утомительно разрабатывать некоторые методы, которые позволяют одному контроллеру представления не отставать от другого, поэтому, когда устройство поворачивается, второй контроллер представления знает, куда подобрать историю.
  • Измените фреймы моих представлений вручную внутри willRotateToInterfaceOrientation:, но в этом сценарии весь мой интерфейс совершенно случайно превращается в кровавый бардак (хотя иногда это хорошо работает ...)

Как вы думаете, лучшие практики? Где я мог пойти не так? Что я упустил? Thx!

Ответы [ 2 ]

2 голосов
/ 06 декабря 2011

Я всегда выбираю второй вариант, и он никогда меня не подводил.Если вы все сделаете правильно, у вас всегда будет ожидаемый результат.Я думаю, что это происходит с вашим приложением (и вы называете это кровавым беспорядком довольно случайно), потому что ваш UIView's, вероятно, все еще будет иметь некоторые определения авторазмера в Интерфейсном Разработчике.Помимо удаления всех авторазмеров, я также снимаю флажок «Авторазмер подпредставлений» из родительского UIViews.

0 голосов
/ 06 декабря 2011

Просто играющие в дьяволов защитники комментариев Джеки Боя, я думаю, это зависит от сложности вашего взгляда. Во многих случаях я обнаружил, что проще просто использовать ландшафтный интерфейс. Пользой для меня является простота визуализации. Вы знаете (более или менее), что вы собираетесь получить без проб и ошибок, и достаточно просто передать любые необходимые данные (я считаю, что это проще, чем иметь дело с перемещением компонентов пользовательского интерфейса программно). Тем не менее, я не знаю, есть ли действительно лучшая практика. Думаю, это то, что тебе нравится. Хотя, если бы мне пришлось угадывать определение Apple о том, какой будет лучшая практика, то можно было бы использовать два представления. О, я должен также добавить, что вы можете использовать «пружины» и тому подобное для компонентов в наконечнике, которых иногда может быть достаточно для обработки вращения

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...