我有一个应用程序在标签栏 Controller 中有一个导航 Controller 。导航 Controller 的根是一个 TableView Controller 。表格 View 与 ImageView 有一个连接。我想从 ImageView Controller 更新选项卡上的角标(Badge)值。从标签栏 Controller ,这工作正常:
UIViewController *viewController = [self.tabBarController.viewControllers objectAtIndex:1];
viewController.tabBarItem.badgeValue = @"x";
但是当我将相同的代码放入 imageview Controller 时,它不起作用。当我在执行后检查 'viewController' 的值时,该值为 nil。 self.tabBarController 也一样。由于某种原因, ImageView Controller 看不到它的 tabbarcontroller。
最佳答案
您应该能够使用 self.navigationController.tabBarController 访问 tabBarController。所以你的代码需要是:
UIViewController *viewController = [self.navigationController.tabBarController.viewControllers objectAtIndex:1];
viewController.tabBarItem.badgeValue = @"x";
关于ios - 无法从 ImageView 访问 TabBarController,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13546906/