Подтвердить что ты не робот

IOS: изменение подкласса из UIView в UIScrollView в раскадровке

Я создал проект на основе раскадровки. В одном из представлений диспетчера вида требуются некоторые дополнительные элементы, которые должны быть размещены, что приводит к увеличению высоты представления, так что теперь представление должно быть прокручиваемым. Можно ли просто изменить тип класса UIView на UIScrollView в раскадровке? Будет ли он действительно конвертировать UIView верхнего уровня в UIScrollView? Просто ищем быстрый и простой способ сделать это без особых изменений.

Спасибо

4b9b3361

Ответ 1

Вы должны изменить тип UIView на UIScrollView (инспектор удостоверений личности), а в методе "viewDidLoad" контроллера назначить представление contentSize, отведя представление к UIScrollView:

[(UIScrollView *)self.view setContentSize:CGSizeMake(320, 700)];

Ответ 2

На самом деле гораздо лучший способ сделать это.

  • Переключить UIView в StoryBoard и вырезать в буфер обмена что-нибудь внутри него.
  • Удалите UIView.
  • Вставьте объект UIScrollView в свой StoryBoard.
  • Вставить из вашего буфера обмена в этот новый объект.

Этот метод сохранит все параметры делегата и IBOutlet, которые вы настроили для вещей внутри представления.

Ответ 3

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

scrollview.contentsize = CGSizeMake(320,480);

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