Один UIViewController или два для портретной / альбомной ориентации - PullRequest
2 голосов
/ 25 августа 2010

Я ищу некоторые разъяснения относительно контроллеров представления и представлений. Следует ли использовать один контроллер вида исключительно для управления одним видом?

По сути, мой портретный вид будет сеткой кнопок 4х3 (в пределах прокрутки). Когда я поверну вид на пейзаж, я захочу сетку 6х4.

Очевидно, что функциональность для обработки нажатий кнопок и т. Д. Будет одинаковой в любой ориентации, поэтому, похоже, потребуется много усилий, чтобы скопировать это для ландшафта.

Как мне заставить контроллер представления использовать правильный вид Xib?

Должен ли я иметь две отдельные сибы? Я перепробовал каждую комбинацию масок авторазмера и мне не повезло.

Я не уверен в правильности пути.

Спасибо.

Ответы [ 2 ]

2 голосов
/ 28 марта 2011

Я не думаю, что вышеупомянутый ответил на вопрос о joec. joec хочет знать, плохо это или хорошо иметь 2 пера (то есть landscape.nib и Portrait.nib) и управлять представлениями в этих 2 пирах с помощью 1 uiviewcontroller.

Мое понимание шаблона проектирования mvc заключается в том, что ViewController действительно ДОЛЖЕН управлять различными представлениями. но когда я смотрю в Интернет, из-за прикосновения какао, часто люди говорят, что это ПЛОХО (что бы это ни значило), когда UIViewController переключает свое свойство view во время выполнения. это смущает меня. почему viewcontroller не может переключать представления? почему я должен создать какой-то странный "master" -viewcontroller, который управляет двумя другими viewcontroller, и каждый из них управляет своим собственным представлением. в случае пейзажной и портретной абстракции (или абстракции iphone-gui и ipad-gui) код на бизнес-уровне gui (код события и т. д. в контроллере представления) является абсолютно одинаковым для разных представлений. стиль взглядов нет. так что это должно быть одним из преимуществ mvc-реализации.

извините, но мне кажется, что это не логично, яблоко.

есть мысли?

редактировать говорит:

Кажется, что Apple предоставляет какой-то странный обходной путь для решения этой проблемы (ненавидите меня, но для меня это не более того, потому что я не вижу действительно простой реализации проекта для управления и обработки представлений в классе UIViewController ):

http://developer.apple.com/library/ios/#featuredarticles/ViewControllerPGforiPhoneOS/BasicViewControllers/BasicViewControllers.html%23//apple_ref/doc/uid/TP40007457-CH101-SW26

Я нашел эту ссылку в следующей теме переполнения стека:

Хотите использовать несколько перьев для разных ориентаций интерфейса iphone

спасибо Михалу за это.

0 голосов
/ 27 августа 2010

Вы также можете попытаться изменить размеры своих просмотров и подпредставлений и т. Д. Посмотрите здесь Madhup expined It ранее. Изменение UIView при изменении ориентации

...