我有以下代码片段:
1。)
[[UINavigationBar appearance] setBackgroundImage:myImage forBarMetrics:UIBarMetricsDefault];
我会把它放在哪里?
或2.)
@implementation UINavigationBar (BackgroundImage)
//This overridden implementation will patch up the NavBar with a custom Image instead of the title
- (void)drawRect:(CGRect)rect {
UIImage *image = [UIImage imageNamed: @"NavigationBar.png"];
[image drawInRect:CGRectMake(0, 0, self.frame.size.width, self.frame.size.height)];
}
@end
我会把它放在哪里?
我尝试在我的viewcontroller中添加一个导航栏,但我不知道在哪里放这些代码。
答案 0 :(得分:1)
Snippet 1仅限iOS 5.0。你可以在applicationDidFinishLaunching:
创建导航栏之前将其放在某处。请查看此处了解更多信息:
Snippet 2是您在iOS 5.0之前必须执行的操作。这是UINavigationBar
上的一个类别。我之前没有真正看到覆盖drawRect:
类别,但看起来确实有效。只需在UINavigationBar
项目中创建一个类别,然后添加该代码即可。如下所示:
UINavigationBar+MyCategory.h
:
@interface UINavigationBar (MyCategory)
- (void)drawRect:(CGRect)rect;
@end
UINavigationBar+MyCategory.m
:
#import "UINavigationBar+MyCategory.h"
@implementation UINavigationBar (MyCategory)
- (void)drawRect:(CGRect)rect {
UIImage *image = [UIImage imageNamed: @"NavigationBar.png"];
[image drawInRect:CGRectMake(0, 0, self.frame.size.width, self.frame.size.height)];
}
@end