带有多个UIViewControllers的UIScrollView

时间:2011-02-12 09:16:23

标签: iphone sdk

我有一个带有xib文件的scrollview和4个UIviewcontrollers现在我想将4个viewcontrollers添加到scrollview

并且还为四个viewcontrollers启用了滚动

任何人都知道这个PLZ回答这个问题

3 个答案:

答案 0 :(得分:9)

只需添加它们即可。问题是什么?

// this loads a view controller from a nib
controller = [[UIViewController alloc] initWithNibName:@"YourNibsName" bundle:nil];

// this adds the viewcontroller's view to the scrollview
[scrollView addSubview:controller.view];

// place the subview somewhere in the scrollview
CGRect frame = controller.view.frame;
frame.origin.x = 600;
controller.view.frame = frame;

// don't forget to release the viewcontroller somewhere in your dealloc
[controller release];

为所有四个控制器执行此操作。

答案 1 :(得分:3)

是的,您只需将viewcontrollers的视图添加到滚动视图中,但请记住,您正在将自己的等效项滚动到UITabBarController或UINavigationController,因此您有一些责任:

当你从一个nib中分配你的vc时,vc会得到它的viewDidLoad方法。

但是当你将vc.view放入你的scrollview时,你需要调用[vc viewDidAppear:YES](如果你的vc使用它,也会调用viewWillAppear)。

请注意从vc中显示模态视图控制器等操作,因为这可能无法按预期工作。

彼得

答案 2 :(得分:0)

我意识到这是一个古老的问题。但是现在您可以使用UIPageViewController