如何在 UINavigationBar 上设置图像

Posted

技术标签:

【中文标题】如何在 UINavigationBar 上设置图像【英文标题】:How to set an Image on UINavigationBar 【发布时间】:2016-08-23 10:16:25 【问题描述】:

为 navigationController 设置一个大小为 750 × 90 Image Size 的图片

[self.navigationController.navigationBar setBackgroundImage:[UIImage imageNamed:@"bg.png"] forBarMetrics:UIBarMetricsDefault];

将图像设置为导航控制器后,它不会在 UINavigationController 上完全绘制图像。

如何在UINavigationController Bar 上设置图片。

【问题讨论】:

【参考方案1】:

试试这个

使用 resizableImageWithCapInsets:resizingMode: 的方法,并将 resizingMode 设置为 UIImageResizingModeStretch,否则导航栏中的图像仍然相同。

UIImage *currentImgae =  [[UIImage imageNamed:@"bg.png"]
                                     resizableImageWithCapInsets:UIEdgeInsetsMake(0, 0, 0, 0) resizingMode:UIImageResizingModeStretch];

[self.navigationController.navigationBar setBackgroundImage:currentImgae forBarMetrics:UIBarMetricsDefault];

斯威夫特

let currentImgae = UIImage(named: "bg.png")!.resizableImageWithCapInsets(UIEdgeInsetsMake(0, 0, 0, 0), resizingMode: .Stretch)
self.navigationController.navigationBar.setBackgroundImage(currentImgae!, forBarMetrics: .Default)

【讨论】:

【参考方案2】:
[[UINavigationBar appearance] setBackgroundImage:[UIImage imageNamed:@"bg.png"] forBarMetrics:UIBarMetricsDefault];

【讨论】:

以上是关于如何在 UINavigationBar 上设置图像的主要内容,如果未能解决你的问题,请参考以下文章

Swift - 如何在栏导航上显示图像

如何设置带有图像的导航栏?

在UINavigationBar上为后退按钮设置自定义图像

如何设置 UINavigation 大小以适合背景图像大小?

UINavigationBar 设置图像未完全绘制

Xcode 7.3.1:将背景图像设置为 UINavigationBar 并显示返回按钮