【问题标题】:Set default rightBarButtonItem for UINavigationController为 UINavigationController 设置默认的 rightBarButtonItem
【发布时间】:2012-08-28 22:17:23
【问题描述】:

伙计们,

我有一个 tabBarController,每个选项卡上都有一个 navigationController。

我想设置导航栏的默认右栏按钮,这样我就不必在 3 个不同的视图控制器上编写相同的代码。

我试过[[UINavigationBar appearance] setRightBarButtonItem:myButton];

但没有成功,是说: -[_UIAppearance setRightBarButtonItem:]: unrecognized selector sent to instance

然后我尝试创建自己的 UINavigationController 子类,以便可以将按钮设置为: self.navigationItem.rightBarButtonItem = myButton 但还是没有成功,似乎什么也没发生,可能是因为我此时没有 navigationItem。

有人有其他解决方案吗?

【问题讨论】:

  • 你不能那样做。它根本不是外观的一部分。如果您有结构上通用的元素,请创建一个通用的 UIViewController 子类来设置右栏按钮项,然后创建其他三个作为该子类的子类。

标签: objective-c ios ios5 uinavigationcontroller uiappearance


【解决方案1】:

如果你继承自UIViewController,你可以像这样设置右键

UIBarButtonItem * rightButton = [[UIBarButtonItem alloc] initWithImage:[UIImage imageNamed:@"foobar.png"] style:UIBarButtonItemStylePlain target:self action:@selector(myAction)];
self.navigationItem.rightBarButtonItem = rightButton;
[rightButton release];

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-09-08
    • 1970-01-01
    • 2016-04-25
    • 1970-01-01
    • 2018-02-12
    • 1970-01-01
    • 2011-06-05
    相关资源
    最近更新 更多