Bezdepbonusu7Программирование: статьи и ответы

Вопрос

Как мне работать с более высоким видом в конструкторе интерфейсов?

Автор вопроса: Aubin LaBrosseОтветов: 6

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

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

У меня вопрос: как мне работать / добавлять элементы управления, которые находятся вне видимой части contentView в IB? РЖУ НЕ МОГУ. это кажется таким простым, но я просто не понимаю. Я могу установить высоту представления содержимого или перетащить прямоугольник на все, что мне нравится (и действительно, в этом весь смысл прокрутки), но фиксированное окно пользовательского интерфейса из IB не будет расширяться, поэтому я могу видеть "закадровую" часть ContentView, чтобы добавить дополнительные элементы управления. Это похоже на то, что он просто зафиксирован в этом размере, потому что это размер одного экрана iPhone, и он не позволяет мне сделать его больше / выше.

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

-a

  • его раздражает, что вы не можете видеть часть вне экрана, вы можете установить кадры вручную, и они будут за пределами экрана, но вы их не увидите, я действительно не пытался решить эту проблему, но это не кажется чем-то очевидным, если это возможно быть сделано вообще. Daniel 24.11.2010
  • @Daniel - см. Принятый ответ ниже. как только вы отключите все имитируемые элементы пользовательского интерфейса, вы сможете сделать вид настолько высоким, насколько захотите. очевидно, если вы собираетесь сделать его выше, чем экран на iPhone, вам нужно будет поместить его в ScrollView Aubin LaBrosse 25.11.2010

iphoneinterface-builderuiscrollview

Ответы

Ответ 1 · рейтинг 12 · Kendall Helmstetter Gelner

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

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

Ответ 2 · рейтинг 3 · Hafeez

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

Ответ 3 · рейтинг 2 · Aubin LaBrosse

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

Ответ 4 · рейтинг 2 · SilentNot

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

Ответ 5 · рейтинг 1 · jer

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

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

Ответ 6 · bbarnhart

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

Перевод вопроса и ответов сообщества Stack Overflow, лицензия CC BY-SA. Оригинал на Stack Overflow.

Похожие материалы