2013-07-04 26 views
1
[[UINavigationBar appearance] setBackgroundImage:gradientImage44 
            forBarMetrics:UIBarMetricsDefault]; 

會定製UINavigationBar的如何自定義UINavigationBar的僅適用於特定的視圖控制器

說我有一類

BGImageBookController 

我想在BGImageBookController的頂部UINavigationBar的有不同的背景。我會怎麼做?

我這樣做是在viewDidLoad中

- (void)viewDidLoad 
{ 
    [super viewDidLoad]; 

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

沒有影響

+0

#1說:「你應該標誌着一個公認的答案,如果它幫助您解決問題。」 –

+0

我會一旦得到一些解釋 –

回答

1

您只要致電setBackgroundImage:forBarMetrics:BGImageBookControllerviewDidLoad方法。

+0

如何訪問UINavigationBar對象?這是BGImageBookController的屬性嗎? –

+0

是UIViewController的一個屬性。 –

2

這是你的代碼:

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

問題是,UINavigationBar根本不包含在BGImgeBookController類中。 BGImageBookController類在UINavigationBar –

+0

但您的問題表明您希望自定義BGImgeBookController的導航欄。所以在這種情況下,你想獲得什麼?您的導航欄位於哪裏? –

+0

我認爲你應該首先確定你想要自定義哪個UINavigationController導航欄。 –

相關問題