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

时间:2015-03-31 21:55:09

标签: ios objective-c uitableview uinavigationcontroller uinavigationbar

我想将我的表格视图导航栏背景图像更改为某个png,我创建了导航栏png,其中包含默认导航栏的确切大小(我在界面构建器中选中)。

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

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

不应该这样做吗?

这是我在接口构建器中的表视图设置,如果有这个帮助:

enter image description here enter image description here

最重要的是我想要得到的而最底层的是我得到的:

enter image description here

谢谢!

2 个答案:

答案 0 :(得分:2)

UIImageView *backImgView = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"nav.png"]];
[self.navigationController.navigationBar addSubview:backImgView];

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

答案 1 :(得分:0)

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

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

你的TableViewController必须是" embadded"在一个导航控制器a.k.a连接到其他ViewControllers作为推送segue ...然后你自动获得导航栏而不是创建一个...我的意思是你创建一个导航栏,永远不会将它添加到视图不是吗?