viewController添加到UIScrollView而不调用它的viewDidAppear方法

时间:2011-05-23 23:14:40

标签: iphone objective-c ios4 ipad

我有一个UIScrollView,它通过 viewController1.view viewController2.view 属性添加了2个不同的视图。我希望在屏幕上出现 viewController1.view viewController2.view 时收到通知。试图使用 viewDidAppear 方法,但不会调用它。

错过了什么?有什么想法吗?

谢谢!

//Add xViewController to scrollView
[scrollView addSubview:firstViewController.view];
[scrollView addSubview:secondViewController.view];
[scrollView addSubview:thirdViewController.view];
[scrollView addSubview:fourthViewController.view];

2 个答案:

答案 0 :(得分:2)

只有在将视图控制器推送到堆栈而不是单个视图时才能触发viewDidAppear等方法。对不起,我不能真正建议你如何跟踪他们到屏幕上 - 除非你初始化并隐藏他们的内容,然后一旦准备好你就知道你只是一个。隐藏=没有呼叫显示他们。

答案 1 :(得分:1)

您需要使用scrollview的contentOffset来计算在UIScrollViewDelegate函数scrollViewDidScroll中显示哪个视图。

查看PageControl的实现以了解UIScrollView的工作原理。PageControl Demo