我有一個導航控制器作爲我的應用程序的根,我使用外觀代理自定義在iOS 5的樣子,但對iOS 4的,我希望用一個類來覆蓋的drawRect:,這是罰款,除非所有導航欄都受到您對類別的期望影響。自定義導航欄
我不想用「系統」彈出窗口,如郵件作曲家,或SMS作曲家亂動,我想他們的酒吧留下藍色和系統等。
我試圖創建我自己的UINavigationController與它的廈門國際銀行和類的導航欄更改爲UINavigationBar的我的自定義子的姑娘。但結果並沒有在屏幕上產生影響。
我知道以下職位,但不能得到任何解決方案,按預期運行。方法:
_myNavigationController = [[UINavigationController alloc] initWithRootViewController:someVC];
if([[BT_NavigationController class] respondsToSelector:@selector(appearance)]){
// some iOS 5 magic in here !
[_myNavigationController.navigationBar setBackgroundImage:[UIImage imageNamed:@"topbar.png"];
}else{
// Probably looking at app store refusal
CustomBar * bar = [[CustomBar alloc] init];
// [_myNavigationController setNavigationBar: bar];
[bar release];
}
[parentView presentModalViewController:_myNavigationController animated:YES];
爲了避免這種情況,我創建一個UINavigationController,我也有一個廈門國際銀行,重新分配類導航欄 How to subclass UINavigationBar for a UINavigationController programmatically?
我該做的工作,但使用無證setNavigationBar第一次嘗試到我的自定義類中,但將斷點放在drawRect:方法中,我可以看到這不是被調用的。
爲什麼會是這樣,似乎我的代碼沒有加載筆尖,因此並沒有意識到NAB杆應該是我的自定義類,而不是UINavigationBar的。
任何提示將有幫助,謝謝。
看來,當我爲我的導航控制器設置此值時,後續詳細視圖的小節標題和小節按鈕將放置在圖像後面。 – Daniel 2012-02-22 14:48:36
是的。您必須在導航條上使用sendSubviewToBack :(或insertSubview:atIndex :)。這取決於你的navigationBar的子視圖。 – teriiehina 2012-02-22 15:24:17