Я меняю макет существующего приложения. Существует ряд представлений, которые теперь нужно добавить в scrollview, которые пользователи могут использовать для перехода к следующему экрану. Я добавил контроллеры в scrollview, используя приведенный ниже код.Добавление UIViewcontrollers в UIScrollview
Этот код добавляется в viewDidLoad из ViewController, который удерживает UIScrolliew
.
int i=1;
int width = 0,height=0;
for(POTCTask *task in [CommonData tasks])
{
UIViewController<TaskViewController> *controller = [TaskViewFactory getTaskViewController:(task.inputTypeId)];
width = controller.view.frame.size.width;
height = controller.view.frame.size.height;
controller.view.frame = CGRectMake(width*(i-1), 0, width, height);
[self.scrollView addSubview:controller.view];
i++;
}
self.scrollView.contentSize = CGSizeMake(width*i, height);
Он загружает все виды в порядке. Но только viewDidLoad вызывается в каждом диспетчере представлений. Никакие другие методы не вызываются. Некоторые из них имеют UItableviews. Но его показывается только первая ячейка.
Как я могу сделать это правильно в ios?
Благодаря
Другие методы не вызываются, потому что вы не нажимаете viewController в стек. Вы просто создаете ViewController и добавляете его в UIScrollView. –