【发布时间】:2012-11-17 02:19:48
【问题描述】:
我已经构建了一个有大约 12 个视图的应用程序。在 NavigationBar 的右上角应该有 UIBarButton,它对整个应用程序具有完全相同的功能。它显示了一个带有徽章的自定义按钮。
我通过 TableViewControllers 向下传递了 rightBarButtonItem,它运行良好。但是当我点击 TabBar 时,自定义按钮有时会消失。可能我的解决方案很糟糕。我试图从 AppDelegate 设置自定义按钮,但我不知道如何在与 TabBar 相关的每个 ViewController 上到达 rightBarButtonItem。
我尝试过这样的事情,但它总是在日志中显示 nil。
- (void)tabBarController:(UITabBarController *)tabBarController didSelectViewController:(UIViewController *)viewController
{
NSLog(@"item %@", self.tabController.selectedViewController.navigationItem.rightBarButtonItem);
NSLog(@"item %@", self.tabController.selectedViewController.navigationItem.rightBarButtonItems);
NSLog(@"item %@", self.tabController.selectedViewController.navigationController.navigationItem.rightBarButtonItems);
//self.tabController.selectedViewController.navigationItem.rightBarButtonItem =
[self switchTabBarImage:self.tabController.selectedIndex];
}
实现“全局”rightBarButtonItem 之类的最佳方法是什么? AppDelegate 是否适合它?
【问题讨论】:
-
感谢您的提示!我想知道我是怎么错过的。
标签: ios uinavigationcontroller uitabbarcontroller appdelegate rightbarbuttonitem