2012-04-18 4 views
12

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

Благодаря

ответ

3

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

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

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

scrollview.contentsize = CGSizeMake(320,480); 

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

3

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

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

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

+0

Если вы желаете иметь его немного более загроможденным, чем необходимо, вы также можете использовать 'UIScrollView' внутри' UIView'. Это также работает. –

+13

Прерывает ограничения, хотя – Ixx

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