导航栏背景没有改变

时间:2010-12-03 09:31:53

标签: image background uinavigationbar uinavigationitem

我有一个导航栏,我想用图像更改它,我实现了这个代码

self.navBar.layer.contents = (id)[UIImage imageNamed:@"flower.png"].CGImage;

但背景仍未改变。导航栏的层次结构是: - UINavigationBar - UINavigationItem - UISegementControl

我已经在该等级的每个部分设置了一个出口.. 有什么不对吗???

1 个答案:

答案 0 :(得分:1)

以下是我成功使用的内容:

CALayer *backgroundImageLayer;
backgroundImageLayer = [CALayer layer];
backgroundImageLayer.frame = CGRectMake(0, 0, 300, 44);
backgroundImageLayer.backgroundColor = [UIColor redColor].CGColor;
backgroundImageLayer.contents = (id)[[UIImage imageNamed:@"barImage.png"] CGImage];
backgroundImageLayer.zPosition = -5.0;
[myNavigationConroller.navigationBar.layer addSublayer:test];

关键是将zPosition设置为-5.0,尽管任何负值都应该有效。它导致backgroundImageLayer 干扰UINavigationBar的按钮和标签。