2017-02-01 24 views
0

Я использовал this answer для реализации UIScrollView с пейджингом.Несколько экземпляров того же UIView в UIScrollView

Он отлично работает как начало, но то, что я хочу сделать, это для каждой страницы в UIScrollView, я хочу отдельный экземпляр того же UIView.

Например, у меня есть ContentViewController, и я хочу использовать 4 экземпляра его UIView;

1 для каждой страницы на UIScrollView - как мне это сделать?

Моя первая мысль была instantiateViewController(withIdentifier), а затем использовать это .view' property inside the for` цикл, но это только дало мне правильный взгляд один раз, а другой 3 были пустые подвиды.

Любая помощь будет высоко оценена. Спасибо!

ответ

1

Вы можете создать экземпляр ViewController несколько раз (в цикле for), а затем получить представление каждого контроллера и добавить его в вид прокрутки. Но вы должны знать, что теперь у вас также есть 4 контроллера, каждый для одного вида.

+0

Спасибо. Есть ли способ избежать использования нескольких контроллеров? – nickjf89

+0

Это не так просто, потому что контроллер обычно держит выходы в представлении (и его подвид) и реагирует на события элементов управления. Если вы хотите обслуживать несколько видов, ваш контроллер должен будет справиться с этим, например. должен был бы узнать, какое представление заполнить, с какими данными соотв. как реагировать на которые, например, кнопка, нажатая на какой из кнопок в любом из нескольких видов. Но если у вас просто простые представления (скажем: только UIImageViews), вы также можете создать их в вызывающем коде, чтобы они работали без исходного контроллера. В этом случае вам нужно будет предоставить данные из «снаружи». –

+0

Ах да, это имеет смысл. Благодаря! Меня устраивает. – nickjf89