Objective-C 如何设置UINavigationBar 的背景?
How to set the background of UINavigationBar in Objective-C ?
我正在尝试更改 UINavigationBar
的 background
。
我已经把图片放到了Images.xcassets
,xib
文件是TableView
我在viewDidLoad
中写了[[UINavigationBar appearance] setBackgroundImage:[UIImage imageNamed:@"bar-background.png"] forBarMetrics:UIBarMetricsDefault];
,如下所示。
- (void)viewDidLoad
{
[super viewDidLoad];
// Do any additional setup after loading the view from its nib.
UIView* bview = [[UIView alloc] init];
bview.backgroundColor = [UIColor groupTableViewBackgroundColor];
//self.title = NSLocalizedString(@"WiFi Camera Viewer", nil) ;
[[UINavigationBar appearance] setBackgroundImage:[UIImage imageNamed:@"bar-background.png"] forBarMetrics:UIBarMetricsDefault];
}
但是UINavigationBar
没有显示像下面这样的图片
如何在Objective-C中设置UINavigationBar的背景?
我是不是遗漏了什么?提前致谢。
您使用的代码是旧的,从 iOS 7 开始您可以使用下面的代码
[self.navigationController.navigationBar setBackgroundImage:[UIImage imageNamed:@"YourImage"] forBarMetrics:UIBarMetricsDefault];
如果您提供 44px 高度的图片,它将仅覆盖导航栏而不覆盖状态栏,如果您提供 66px 高度的图片,它将同时覆盖它们
我正在尝试更改 UINavigationBar
的 background
。
我已经把图片放到了Images.xcassets
,xib
文件是TableView
我在viewDidLoad
中写了[[UINavigationBar appearance] setBackgroundImage:[UIImage imageNamed:@"bar-background.png"] forBarMetrics:UIBarMetricsDefault];
,如下所示。
- (void)viewDidLoad
{
[super viewDidLoad];
// Do any additional setup after loading the view from its nib.
UIView* bview = [[UIView alloc] init];
bview.backgroundColor = [UIColor groupTableViewBackgroundColor];
//self.title = NSLocalizedString(@"WiFi Camera Viewer", nil) ;
[[UINavigationBar appearance] setBackgroundImage:[UIImage imageNamed:@"bar-background.png"] forBarMetrics:UIBarMetricsDefault];
}
但是UINavigationBar
没有显示像下面这样的图片
如何在Objective-C中设置UINavigationBar的背景?
我是不是遗漏了什么?提前致谢。
您使用的代码是旧的,从 iOS 7 开始您可以使用下面的代码
[self.navigationController.navigationBar setBackgroundImage:[UIImage imageNamed:@"YourImage"] forBarMetrics:UIBarMetricsDefault];
如果您提供 44px 高度的图片,它将仅覆盖导航栏而不覆盖状态栏,如果您提供 66px 高度的图片,它将同时覆盖它们