gpt4 book ai didi

ios - 如何全局更改 UINavigationController 的 rightBarButtonItem?

转载 作者:行者123 更新时间:2023-11-29 03:37:35 24 4
gpt4 key购买 nike

我正在尝试全局更改导航栏的右侧项目。所以我创建了这样的父类:

@implementation ParentViewController
...
- (void)loadView {
[super loadView];

UIImageView *imageView = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"send"]];
self.navigationController.navigationItem.rightBarButtonItem = [[UIBarButtonItem alloc] initWithCustomView:sendImageView];

}
...
@end

我有两个名为 ABViewController 类,它们继承自 ParentViewController。两人都有

- (void)loadView {
[super loadView];
}

A 的第一个实例出来并执行

    B *vc = [[B alloc] init];
[self.navigationController pushViewController:vc animated:YES];

问题是右栏按钮项仅出现在 A 上,而不出现在 B 上。我认为调用父类的 loadView 可以解决问题,但事实并非如此。如何全局更改该按钮?

我没有使用 xib。所以 loadView 总是被调用。

最佳答案

如果 View Controller 具有关联的 XIB,则不会调用 loadView,因为它将用于加载 View 。

您可能需要考虑充当 UINavigationController委托(delegate)来处理这些内容并实现 navigationController:willShowViewController:animated:。然后,您可以直接询问新的 viewController 来决定是否应该执行任何操作,如果需要,您可以更改其 navigationItem

关于ios - 如何全局更改 UINavigationController 的 rightBarButtonItem?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18943532/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com