我的导航栏中需要背景图像和标题。对于图像我写了一个类别:
@implementation UINavigationBar(MyNavigationBar)
- (void)setBackgroundImage {
UIImageView *aTabBarBackground = [[UIImageView alloc]initWithImage:[UIImage imageNamed:@"navBarBackgrd.png"]];
[self addSubview: aTabBarBackground];
[self sendSubviewToBack: aTabBarBackground];
[aTabBarBackground release];
}
@end
我在 AppDelegate 中调用此类别,并在整个应用程序中拥有背景图像:
[navigationController.navigationBar setBackgroundImage];
每个 ViewController 都有一个标题:
[self setTitle:@"MyTitle"];
但是设置背景图片后,我的标题就有问题了。
在每件作品的第一个视图中,我都会看到背景图片和标题:-)
但在下一个视图中,标题消失了。仅背景图像可见。也许标题在图片下面?
从技术上讲,两者都可以显示。有了这个技巧,它就起作用了:
-
在打开下一个 ViewController 之前隐藏导航栏:
[self.navigationController setNavigationBarHidden:YES];
-
在下一个 ViewController 中显示导航栏:
[self.navigationController setNavigationBarHidden:NO];
现在,图像和标题可见,但这个解决方案不是最好的;-)
我得到了它!
@implementation UINavigationBar(MyNavigationBar)
- (void)drawRect:(CGRect)rect {
UIImage *image = [UIImage imageNamed: @"navBarBackgrd.png"];
[image drawInRect:CGRectMake(0, 0, self.frame.size.width, self.frame.size.height)];
}
@end
See 导航视图的背景图像
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)