1

是否可以使用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 的视图。

4

4 回答 4

1

您需要设置视图的框架,使它们位于另一个下方。目前他们都在那里,只是在彼此之上。

试着放进去

self.a2.view.frame = CGRectMake(0, 480, 320, 480);
于 2013-10-04T09:01:29.843 回答
1

您还必须修改框架。现在 a1 和 a2 有相同的,并且它们在彼此之上,所以 a2 是可见的,因为你添加了后者。

尝试

self.a2.view.frame = CGRectOffset(self.a2.view.frame, self.a1.view.frame.size.width, 0);
于 2013-10-04T09:02:28.037 回答
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];
于 2013-10-04T09:03:57.090 回答
0

您需要将自定义视图控制器添加为子视图控制器。有关正确执行此操作的更多信息,请参阅Apple 的文档

于 2013-10-04T09:12:56.293 回答