2009-03-26 2 views
2

У меня есть scrollview. Я пытаюсь добавить ViewControllers из файла nib.Как добавить ViewController в scrollview

ViewController *controller=[[ViewController alloc] initWithNibName:@"ViewController" bundle:[NSBundle mainBundle]]; 
[scrollview addSubview:controller]; 

Scrollview определен в другом месте.

Всякий раз, когда я добавляю другие предметы, такие как UIViews с простыми цветными фонами, это прекрасно работает. Когда я добавляю ViewController из наконечника, попадает Viewdidload, загрузка изображений из ножа, но тогда код контроллера останавливается там (№ viewWillAppear и т. Д.). Поэтому я не получаю обработку контроллера.

Этот же контроллер отлично работает при нажатии в качестве навигатора или контроллера табуляции. Я уверен, что мне что-то не хватает в учебном процессе, но надеялся, что кто-то сможет помочь, чтобы я мог двигаться дальше.

BTW: ViewController выше - это простой UIViewController.

ответ

4

Я думаю, ваша проблема в том, что addSubview ожидает, что UIView не является UIViewController - вы, вероятно, получите предупреждение при компиляции («не может отвечать на селектор» или аналогичный?). Если это так, не просто игнорировать те - в моем опыте, как правило, они являются проблемой в вашем коде :-)

Вы могли бы попробовать что-то вроде

[scrollview addSubview:controller.view]; 

Но это еще не получит вам обработка viewcontroller ... вам нужно сделать эту обработку в контроллере представления, который имеет scrollview AFAIK. Я бы предложил попытаться получить базовый вид с помощью scrollview, работающего в IB сначала.

0

ОК, кажется, немного выключен, но я добавил viewWillAppear для просмотраDidLoad, и это сработало, но это не похоже на правильный способ сделать это, правильно?

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