как мне работать на более высоком представлении в конструкторе интерфейсов? - PullRequest
6 голосов
/ 24 ноября 2010

ОК, поэтому я учусь использовать UIScrollView в конструкторе интерфейсов.Поскольку само scrollView не имеет никакого содержимого, я создал другое представление, contentView, для хранения своих элементов управления и прокручиваемого содержимого.в этом представлении я размещаю элементы управления, метки и т. д., а затем в своем коде я устанавливаю для contentSize scrollView размер этого contentView.

Мой вопрос кажется потрясающе простым и настолько очевидным, что, должно быть, я что-то где-то пропустил,когда я создал этот XIB в IB, я получил ваше стандартное пустое окно интерфейса iPhone.Я положил сверху скроллвью, оно заняло все окно.Я бросил взгляд сверху, это заняло весь скролл-просмотр.Я добавил некоторые элементы управления, которые я до сих пор вижу внутри прямоугольника contentView в IB.

Мой вопрос заключается в том, как мне работать с / добавлять элементы управления, которые находятся вне видимой частиContentView в IB?ЛОЛ.это кажется таким простым, но я просто не понимаю.Я могу установить высоту представления содержимого или перетащить прямоугольник на то, что мне нравится (и в этом-то и заключается весь смысл наличия прокрутки), но фиксированное окно пользовательского интерфейса из IB не будет расширяться, поэтому я могу видеть часть «за кадром»из contentView, чтобы добавить больше элементов управления.Как будто он просто зафиксирован в таком размере, потому что это размер экрана одного iPhone, и он не позволит мне сделать его больше / выше.

что я сделал не так?

-a

Ответы [ 6 ]

12 голосов
/ 24 ноября 2010

Вам необходимо отключить все моделируемые элементы пользовательского интерфейса (например, строку состояния), чтобы они были «неопределенными», кроме размера, который вы выбираете как «Свободная форма» из раскрывающегося списка, а затем вы можете установить высоту просмотра.используя вкладку «Линейка», чтобы выбрать то, что вам нравится.

Например, здесь я выбрал контроллер просмотра фотографий и установил размер в правой боковой панели на «Полный экран iPad» - но я также мог быизмените это на "произвольную форму", чтобы установить любую высоту, которую я желаю.

Selecting VC in interface builder

Custom size set

3 голосов
/ 23 июня 2014

Сначала добавьте ViewController любым удобным для вас способом. Затем в конструкторе интерфейсов нажмите на иконку контроллера вида (слева). В инспекторе соединений нажмите значок линейки «Показать инспектор размеров». Появится список параметров для имитируемого размера, изменится на «Свободная форма» и увеличит высоту до любого желаемого размера. Надеюсь, это поможет.

2 голосов
/ 19 февраля 2016

Установите имитированный размер для произвольной формы для контроллера представления на достаточно большой размер, который вы можете добавить в свои элементы управления

enter image description here

2 голосов
/ 24 ноября 2010

ни за что. вы перетаскиваете представление содержимого вверх, чтобы некоторые элементы управления находились вне экрана, а затем добавляете дополнительные элементы управления / расширяете часть, которую вы только что сделали видимой, перемещая верхние элементы сверху. по сути, вы физически прокручиваете contentView в IB, перетаскивая его мышью. Кажется, что-то нелогично, но что угодно.

1 голос
/ 24 ноября 2010

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

Что касается второй части вашего вопроса, вы можете поместить элементы непосредственно в представление прокрутки (это представление в конце концов), как подпредставления.Если вы хотите, чтобы они были за пределами экрана, просто установите их кадр так, чтобы они находились в тех точных координатах x, y, в которых вы хотите, чтобы они были.Вам нужно убедиться, что свойство contentSize вашего scrollview достаточно велико, хотя для размещения всего вашего контента это то, что позволяет прокручивать по горизонтали / вертикали.

0 голосов
/ 24 ноября 2010

Вы, вероятно, хотите использовать элементы вне экрана программно, а не с помощью xibs.

...