我使用 Objective-C 开发了一个 iOS tabBar 应用程序。当用户打开应用程序时,它位于 tab1 中。当用户点击 tab1 中的图片时,应用会跳转到带有图片名称的 tab3。
问题是在 tab3 中调用 addObserver 的位置,因为 tab3 永远不会打开?
我使用 Objective-C 开发了一个 iOS tabBar 应用程序。当用户打开应用程序时,它位于 tab1 中。当用户点击 tab1 中的图片时,应用会跳转到带有图片名称的 tab3。
问题是在 tab3 中调用 addObserver 的位置,因为 tab3 永远不会打开?
如果我正确地回答了您的问题,您只想在单击选项卡 1 中的照片时打开选项卡 3
IMO,它应该有类似 window->mainController->tabController [tabs]
在您的 tab1Controller 中,您可以设置一个委托,让我们将其称为“Tab1ControllerDelegate”,它有一个名为“tab1DidSelectSomething:(NSString *)something”的方法。然后在您的 mainController 中,您可以将委托分配给 self.
i.e.
tab1Controller.delegate = self;
在您的 tab1Controller 选择器操作中,您可以执行以下操作:
if(_delegate){
[_delegate tab1DidSelectSomething:<whatEverheSelected>];
}
然后在你的主控制器中:
-(void)tab1DidSelectSomething:(NSString *)something{
// get the viewController here
UIViewController *controller = _tabController.viewControllers[2];
[controller updateselected:something];
_tabController.selectedIndex = 2;
}