是否可以使用UIScrollViewController
滚动或“分页”来自UIViewControllers
的两个或多个视图?
示例(在viewDidLoad中)
self.a1 = [[CustomViewController1 alloc] init];
self.a2 = [[CustomViewController2 alloc] init];
//Scroller
self.scroller = [[UIScrollView alloc] initWithFrame:CGRectMake(0,0,1000,400
400)];
[self.scroller addSubview:self.a1.view];
[self.scroller addSubview:self.a2.view];
[self.view addSubview:self.scroller];
但我只能在滚动条中看到控制器a2的视图。
答案 0 :(得分:1)
您需要设置视图的帧,使它们位于另一个下方。目前他们都在那里,彼此之上。
尝试加入
self.a2.view.frame = CGRectMake(0, 480, 320, 480);
答案 1 :(得分:1)
您还必须修改框架。现在a1和a2具有相同的,并且它们位于彼此之上,因此a2是可见的,因为你添加了后者。
尝试
self.a2.view.frame = CGRectOffset(self.a2.view.frame, self.a1.view.frame.size.width, 0);
答案 2 :(得分:0)
解决方案是在滚动条内设置子视图的框架坐标:
CGRect frame = CGRectMake(0, 0, 1000, 600);
self.a1 = [[CustomViewController1 alloc] init];
self.a1.view.frame = frame;
self.a2 = [[CustomViewController2 alloc] init];
frame.origin.x = frame.size.width +10;
self.a2.view.frame = frame;
[self.scroller addSubview:self.a1.view];
[self.scroller addSubview:self.a2.view];
[self.view addSubview:self.scroller];
答案 3 :(得分:0)
您需要将自定义视图控制器添加为子视图控制器。有关正确执行此操作的详细信息,请参阅Apple's documentation。