Добавление элементов в представление прокрутки в раскадровке (инспектор размера заблокирован) - PullRequest
7 голосов
/ 21 января 2012

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

Ответы [ 4 ]

13 голосов
/ 08 февраля 2012

Единственный способ, которым я смог отредактировать свой контент в UIScrollView (и это восходит еще до раскадровки, но я уверен, что он все еще применяется), это изменить смещение x илиy вашего фрейма контента.

Другой вариант, в зависимости от того, является ли ваш контент-контент "статическим" (встроенным в .xib) или нет, - это фактически вытащить его за пределы вида прокрутки и установить какпредставление контента программно в viewDidLoad или в каком-то другом виде.

Надеюсь, это поможет, я могу продолжить с примерами кода, если это имеет смысл, и вам нужно.2012): вот пример того, как подключить увеличенное изображение к представлению с прокруткой.В этом примере представление прокрутки (scrollView) установлено на свойство представления контроллера представления.В .xib я также добавил UIView с именем largeView.Они никак не связаны в файле .xib, они просто появляются там.

Учитывая ...

@property (nonatomic, retain) IBOutlet UIView *largeView;
@property (nonatomic, retain) IBOutlet UIScrollView *scrollView;

В viewDidLoad: мы просто ...

// add the largeView to the main scrollView
[scrollView addSubview:largeView];
[scrollView setContentSize:largeView.frame.size];

Это, пожалуй, самый простой из возможных примеров.Удачи!

1 голос
/ 12 февраля 2012

@ TJ & @livingtech:

Почему бы вам не использовать свойство встраивания, заданное в Интерфейсном Разработчике?

Здесь вы создаете два представления (UIView largeView и UIScrollView scrollView).Так что это своего рода потеря памяти для тех же самых объектов.

enter image description here

  1. Сначала добавьте еще один UIView в ваше перо с вашими высотой и шириной.
  2. Добавьте ваши элементы управления, где вы хотите.(допустим, например, largeView )
  3. Затем используйте свойство embed с ScrollView.(Допустим, скажем myScrollView * только 1018 *)
  4. Теперь добавьте myScrollView в исходное представление, где вы хотите, с вашими пользовательскими высотой и шириной.
  5. В кодеbase просто установить myScrollView contentSize в соответствии с размером largeView .

Это было бы проще для целей повторного использования и расширения кода.Если в будущем вам нужно добавить больше объектов.

1 голос
/ 09 февраля 2012

Здорово, что ты это решил.Если бы у меня была такая проблема, я бы создал представление с тем же размером кадра, что и с размером содержимого представления с прокруткой.Добавьте все нужные мне элементы управления (кнопки, метки, текстовые поля и т. Д.) В нужное место.После этого просто добавьте представление для прокрутки, сделайте IBOutlet из прокрутки и установите программный размер его содержимого где-нибудь в моем коде, прежде чем использовать эту прокрутку (установка в viewDidLoad будет в порядке).

Это еще одно решение этой проблемы.

0 голосов
/ 16 сентября 2015

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

...