1)以下三行代碼有什麼區別?隱藏導航條?
2)此外爲什麼只有代碼工作的第三行,如果我返回到的viewController和以前的viewController已設置的導航欄,通過同樣的方法[self.navigationController setNavigationBarHidden:NO]
我的假設是,所有三條線做同樣隱藏事情?
self.navigationController.navigationBar.hidden = NO;
[self.navigationController.navigationBar setHidden:NO];
[self.navigationController setNavigationBarHidden:NO];
追問:
爲什麼當我需要運行此代碼:
[self.navigationController.navigationBar setBackgroundImage:incorrectAnswerNavigationBarBackgroundImage forBarMetrics:UIBarMetricsDefault];
它僅適用,工作是設置背景圖片,否則導航欄只是白。
,如果我有這兩個行:
[self.navigationController setNavigationBarHidden:NO];
self.navigationController.navigationBar.hidden = NO;
如果我離開了self.navigationController.navigationBar.hidden = NO;
的導航欄的空間彈出下來,但它只是白色的,沒有背景圖像。如果我的兩條線都有效,並且有背景圖片。
謝謝你花時間解決這個問題。我有點擔心。然而,爲什麼我會用另一種呢? – drc 2013-04-29 03:17:48
隨着前兩個,你可以互換;這是一種風格選擇。但是,爲了隱藏導航欄,您希望使用Apple提供的已記錄方法來隱藏導航欄,因爲如果您使用第一種方法,則無法保證UINavigationController中的Apple方法不會撤消您的更改二。第三個保證它會隱藏,因爲你不會手動搞亂導航條的隱藏屬性。 – Nobosi 2013-04-29 03:29:05
謝謝!但是,這種方法[self.navigationController.navigationBar setBackgroundImage:不工作,如果我只調用[self.navigationController setNavigationBarHidden:NO];而不是也self.navigationController.navigationBar.hidden我以爲他們改變了同樣的屬性? – drc 2013-04-29 03:32:56