无法设置我的导航栏背景图片

Posted

技术标签:

【中文标题】无法设置我的导航栏背景图片【英文标题】:Can't set my navigation bar background image 【发布时间】:2015-03-31 21:55:09 【问题描述】:

我想将我的表格视图导航栏背景图像更改为某个 png,我创建了具有默认导航栏确切大小的导航栏 png(我在界面生成器中签入)。

这是我的代码(在我的表格视图控制器类,viewDidLoad 方法中):

UINavigationBar *navBar = self.navigationController.navigationBar;
UIImage *image = [UIImage imageNamed:@"nav.png"];
[navBar setBackgroundImage:image forBarMetrics:UIBarMetricsDefault];

这不应该工作吗..?

如果有帮助,这是我在界面构建器中的表格视图设置:

顶部是我想得到的,底部是我得到的:

谢谢!

【问题讨论】:

【参考方案1】:
UIImageView *backImgView = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"nav.png"]];
[self.navigationController.navigationBar addSubview:backImgView];

尝试在自定义视图中添加图片

【讨论】:

我添加了一张照片 - 使用你的解决方案,顶部是我想得到的,底部是我得到的 @Hemali Luhar 在您的解决方案中,我还可以将尺寸更改为 320w 和 44h @Hemali Luhar【参考方案2】:

为什么不使用现有的导航栏?不要认为你需要创建一个新的......这段代码对我有用:

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

您的 TableViewController 必须“嵌入”在导航控制器中,也就是连接到其他 ViewControllers 作为 push segue...然后您会自动获取导航栏而不是创建导航栏...我的意思是您创建导航栏并且从不添加它到视图不是吗?

【讨论】:

我添加了一张照片 - 使用您的解决方案,顶部是我想得到的,底部是我得到的 @Kreuzberg

以上是关于无法设置我的导航栏背景图片的主要内容,如果未能解决你的问题,请参考以下文章

如何在 IB 中设置导航栏和工具栏背景图像

怎样删除淘宝导航栏?

iOS - 设置导航栏之标题栏居中标题栏的背景颜色

导航栏背景图片太大

自定义导航栏图片和文字

我不能在故事板中同时将标题和图像设置为导航栏上的右侧栏项吗?