问题描述
我想在全局 AppDelegate 中添加一个全局右栏按钮,这样我的所有视图控制器都会自动拥有这个按钮.
我在 AppDelegate 中添加了
navigator.window.rootViewController.navigationController.navigationItem.rightBarButtonItem = [[[UIBarButtonItem alloc] initWithTitle:NSLocalizedString(@"Test", @"") style:UIBarButtonItemStyleBordered target:self action:@selector(showTest)] autorelease];
上面的代码当然不行..上面的代码有什么问题吗?
推荐答案
好吧,我不确定你能不能按照你的方式来做,因为 UINavigatorController 总是使用当前显示的视图控制器中的按钮,并且不是来自顶部/根控制器.
你可以做的是用一个新的视图控制器继承 TTViewController 并设置你的左栏按钮项.
/////////////////////////////////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////////////////////////////////// @implementation BaseViewController /////////////////////////////////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////////////////////////////////// #pragma mark - #pragma mark UIViewController /////////////////////////////////////////////////////////////////////////////////////////////////// - (void)viewDidLoad { [super viewDidLoad]; self.navigationItem.rightBarButtonItem = [[[UIBarButtonItem alloc] initWithTitle:NSLocalizedString(@"Test", @"") style:UIBarButtonItemStyleBordered target:self action:@selector(showTest)] autorelease]; }
然后你应该从这个基础控制器扩展你所有的视图控制器,它包含正确的导航栏项目
相关问答
相关标签/搜索