0

我使用 Objective-C 开发了一个 iOS tabBar 应用程序。当用户打开应用程序时,它位于 tab1 中。当用户点击 tab1 中的图片时,应用会跳转到带有图片名称的 tab3。

问题是在 tab3 中调用 addObserver 的位置,因为 tab3 永远不会打开?

4

1 回答 1

0

如果我正确地回答了您的问题,您只想在单击选项卡 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; }

于 2016-07-07T03:41:34.650 回答