gpt4 book ai didi

iphone - 隐藏导航栏但不隐藏后退按钮

转载 作者:行者123 更新时间:2023-12-01 19:21:46 25 4
gpt4 key购买 nike

我使用以下方法隐藏我的导航:

[self.navigationController setNavigationBarHidden:YES animated:YES];

但是我不需要隐藏后退按钮,这可能吗?

最佳答案

nevan king 是对的 但是 您可以简单地更改导航栏的背景图像或将其设置为 nil。如果您将其设置为 nil 或提供透明的 BG 图像,您将获得所需的效果。

对于 iOS >= 5.0,您可以简单地设置外观:

if([navigationBar respondsToSelector:@selector(setBackgroundImage:forBarMetrics:)]) // needed if iOS older than 5.0 is also supported
[navigationBar setBackgroundImage:nil forBarMetrics:UIBarMetricsDefault];

您可以在有指向导航栏的指针的地方执行此操作。例如。内部 viewDidLoad您的方法 ViewController .

对于较旧的 iOS 版本,您需要通过制作 来解决方法。类别 UINavigationBar并覆盖 drawRect方法:
@implementation UINavigationBar (BackgroundImage)
- (void)drawRect:(CGRect)rect {
UIImage *image = [UIImage imageNamed: @""];
[image drawInRect:CGRectMake(0, 0, self.frame.size.width, self.frame.size.height)];
}
@end

如果您想支持所有 iOS 版本,这两种方法都是兼容的。
因此您应该记住,后退按钮使用相同的背景图像。所以你需要定制一个。
UIImage *bgImageNormal = [UIImage imageNamed:@"backButtonImage.png"];

UIButton *button = [UIButton buttonWithType:UIButtonTypeCustom];
[button setBackgroundImage: bgImageNormal forState:UIControlStateNormal];

button.frame= CGRectMake(0.0, 0.0, bgImageNormal.size.width, bgImageNormal.size.height);
[button addTarget:self action:@selector(navigationBarBackButtonTouchUpInside:) forControlEvents:UIControlEventTouchUpInside]; // your action method here

UIBarButtonItem *closeButton = [[UIBarButtonItem alloc] initWithCustomView:button];
self.navigationItem.leftBarButtonItem = closeButton;
[closeButton release];

需要为您推送到导航栏的每个 ViewController 实现此代码。在 viewDidLoad里面也是一个不错的地方。方法。

关于iphone - 隐藏导航栏但不隐藏后退按钮,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10064626/

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