的viewController加入UIScrollView的不调用其viewDidAppear方法
问题描述:
我有具有经由viewController1.view和viewController2.view属性添加2个不同视图一个UIScrollView。我想通知viewController1.view或viewController2.view已经出现在屏幕上。试图使用viewDidAppear方法,但它不会被调用。的viewController加入UIScrollView的不调用其viewDidAppear方法
错过了什么?有任何想法吗?
谢谢!
//Add xViewController to scrollView
[scrollView addSubview:firstViewController.view];
[scrollView addSubview:secondViewController.view];
[scrollView addSubview:thirdViewController.view];
[scrollView addSubview:fourthViewController.view];
答
诸如viewDidAppear之类的方法只能在视图控制器被推入堆栈时触发,而不是单个视图。对不起,我不能告诉你如何才能跟踪他们到屏幕上 - 除非你初始化并隐藏了他们的内容,那么一旦这个准备就绪,你就会知道你只是一个.hidden =没有电话显示他们。
答
您将需要使用scrollview的contentOffset来计算在UIScrollViewDelegate函数scrollViewDidScroll中显示哪个视图。
查看PageControl的实现以了解UIScrollView的工作原理。 PageControl Demo
请发布代码将viewController1.view添加到滚动视图。 – Rayfleck 2011-05-23 23:20:06