我一直在阅读论坛帖子并敲打我的头超过 2 小时,希望有人可以帮助我指出正确的方向。
我正在使用 UITabBarController 并有 4 个与之关联的根视图。在第一个视图中,用户可以拍照(UIImagePicker),然后以编程方式显示第二个视图。一旦显示第二个视图,我想向服务器发出 ajax 请求。
我能够使用以下代码成功选择/显示第二个视图:
self.tabBarController.selectedIndex = 1;
但是 UITabBarControllerDelegate 方法(在用户 tabBarContoller触摸时成功调用):
- (void)tabBarController:(UITabBarController *)tabBarController didSelectViewController:(UIViewController *)viewController
没有调用,因为 Apple tabBarController:didSelectViewController 文档指出:
在 iOS 3.0 之前的版本中,仅当所选视图控制器实际更改时才调用此方法。In other words, it is not called when the same view controller is selected. 此外,对所选视图控制器的编程和用户启动更改都调用了该方法。
所以我的问题是:“如何在以编程方式切换到第二个视图后执行一些代码并发出请求? ”
我还尝试在以下位置添加痕迹:
-(void)viewDidAppear
-(void)ViewWillAppear
-(void)viewDidLoad
但是当 tabBarController.selectedIndex 设置时,这些都不会被调用。
非常感谢