如何仅为某些视图控制器自定义UINavigationBar

时间:2013-07-04 14:19:25

标签: ios objective-c

[[UINavigationBar appearance] setBackgroundImage:gradientImage44
                                   forBarMetrics:UIBarMetricsDefault];

会自定义UINavigationBar

说我有一个班级

BGImageBookController

我希望在BGImageBookController之上的UINavigationBar具有不同的背景。我该怎么做?

我在viewDidload

中做了这个
- (void)viewDidLoad
{
    [super viewDidLoad];

    [[UINavigationBar appearanceWhenContainedIn:[BGImageBookController class], nil] setBackgroundImage:[UIImage imageNamed:@"sushi_eating_cat"] forBarMetrics:UIBarMetricsDefault];
}

没效果

2 个答案:

答案 0 :(得分:2)

这是你的代码:

[[UINavigationBar appearanceWhenContainedIn:[BGImageBookController class], nil] setBackgroundImage:nil forBarMetrics:UIBarMetricsDefault];

答案 1 :(得分:1)

您只需在setBackgroundImage:forBarMetrics:的{​​{1}}方法中致电viewDidLoad