2014-11-14 2 views
0

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

Раскадровка/Интерфейс Builder - это, на первый взгляд, удивительные инструменты. Правда в том, что в стороне от быстрых прототипов и действительно простого пользовательского интерфейса я всегда чувствую себя заблокированным, используя их. Этот вопрос, вероятно, является хорошим примером: how can I use one storyboard for 4" and 3.5" iphone screens with autolayout (ios6 + ios7)?

Я рассматриваю, чтобы закодировать все мои взгляды. В основном потому, что это позволит мне реализовать некоторую логику, например, равное расстояние между элементами. Что-то, что есть, AFAIK, невозможно сделать в кросс-устройстве с помощью инструментов GUI.

Мои вопросы: поддерживает ли раскадровка/IB расширенный вид? Как вы обычно кодируете свое представление, если вы это делаете: расширение UIView/настройка контроллера?

РЕДАКТИРОВАТЬ: приемлемая ответная ссылка хорошая. Заинтересованные читатели также могли бы взглянуть на соответствующий пример руководства по автоматическому макету Apple: https://developer.apple.com/library/ios/documentation/UserExperience/Conceptual/AutolayoutPG/AutoLayoutbyExample/AutoLayoutbyExample.html#//apple_ref/doc/uid/TP40010853-CH5-SW7

+0

Этот вопрос действительно слишком широк для одного ответа. Есть ли определенный расширенный макет представления, который вы хотите поддержать, что вы не можете понять, как создать в IB? Обратите внимание, что Xcode 6 предоставляет новые функции для раскадровки, которые не рассматриваются в этом вопросе. – Kevin

+1

Вы можете сделать равный интервал в раскадровке, но вам нужно добавить проспекты между вашими представлениями, чтобы выполнить это (я думаю, что это лучший способ сделать это и в коде, если вы поддерживаете несколько размеров экрана). Что касается вашего предыдущего вопроса, самый простой способ сделать это - сделать IBOutlets для верхнего ограничения и ограничения высоты и изменить их постоянные значения в коде (так что гибридный подход раскадровки и кода). Раскадровка может поддерживать довольно продвинутые макеты, но каждый случай отличается, и вам нужно решить, какие из них лучше всего подходят для вас. – rdelmar

ответ

1

Ранее в iOS 8 было сложнее строить сложные макеты с помощью Interface Builder. Вы по существу были ограничены растяжкой или прикреплением к краям. Теперь вы можете создавать макеты, которые адаптируются к классам размеров, и изменять их макеты или ограничения на основе ширины и высоты вашего устройства.

Если говорить о том, что даже в действительно сложных сценариях, с которыми я не справляется, я все же в конечном итоге создаю куски представлений в XIB, а затем выкладываю эти куски вручную.

TLDR; Интерфейс Builder будет полезен в 99,9% случаев, если вы знаете, как использовать все его функции.

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