我有一个包含三个视图的iPhone应用程序,一个切换器视图,一个数据采集视图和一个数据摘要视图。当应用程序启动时,将调用切换器视图的viewDidLoad委托,然后将数据采集视图的viewDidLoad委托称为TWICE,然后是viewWillDisappear调用和数据采集视图的dealloc。这两个调用都来自我的切换器视图中的同一行代码,当我为数据采集视图调用insertSubView时。一个调用来自UIViewController,一个调用来自UINib,UIVib也调用UIVib。这有什么意义吗?
然后,当我接受用户输入来更改视图时,不会调用数据获取视图的viewWillDisappear委托。我只是调用了数据摘要视图的viewDidLoad。
我很困惑。我正在尝试使用viewWillDisappear从数据采集视图中写出数据,然后可以将数据读入数据摘要视图,但是按照这个顺序它不起作用。
有什么想法吗?
答案 0 :(得分:0)
解决似乎是你最后/主要关注的问题。否[DataAcquisitionView viewWillDisappear]不是填充SummaryView的位置。当你完成加载数据后,你应该明确地创建你的summaryView,然后用你需要总结的东西填充它的视图,然后呈现它。
根据您的新信息:
您想使用tabBarController委托方法;
-(void)tabBarController:(UITabBarController *)tabBarController didSelectViewController:(UIViewController *)viewController{
NSLog(@"Switch views");
}
这将告诉您我们用户选择了一个不同的viewController,您可以处理该事件。