2011-08-05 34 views
10

當我使用這個:[self.navigationItem setHidesBackButton:YES animated:NO];來隱藏我的導航欄中的後退按鈕時,我的標題不會居中。它的打印像按鈕仍然存在。UINavigationBar中的後退按鈕隱藏問題

有沒有人知道爲什麼會發生這種情況,以及如何解決它?

編輯:

我的計劃是像這樣:我的RootViewController的是導航控制器和I設置這樣的導航欄被隱藏。然後我推到另一個UIViewController,我讓導航欄再次出現,但使後退按鈕消失。

我試過設置self.navigationItem.backBarButtonItem = nil;,但它沒有使後退消失。

下面是一些圖片供參考:

Picture with back button Picture without

+0

你是什麼意思標題不集中?它打印什麼? – Legolas

+0

標題是「工作日曆」,它被打印,但它比中心更靠右。它不佔用後退按鈕使用的任何空間,即使按鈕現在消失了。 – jylee

+0

默認情況下,標題居中。嘗試設置後退按鈕到零 – Legolas

回答

6

設置self.navigationItem.backBarButtonItem = nil;

+0

我試過了,但它似乎沒有使後退按鈕消失。我已經添加了更多的信息給我的問題,請看看它,如果可以的話! – jylee

+0

是你的問題與後退按鈕的標題? – Legolas

+1

我添加了照片來向你展示我的意思 – jylee

1

你碰到的問題是,因爲你不改變你的導航欄的組成,你只是隱藏的一部分它。當你設置你的按鈕的隱藏值時,你就是這樣做,隱藏它,而不是刪除它。它仍然佔用空間。要解決您的問題,您需要刪除該按鈕,然後當您想要使用該功能時,只需添加按鈕即可。

實際上,如果你有像這樣的顯示問題,你應該重新考慮你的導航欄UI設計,並嘗試提出一個更有效的按鈕標題。

1

您正在設置的屬性是指「自我」在導航控制器堆棧中的「返回」項目時如何表示。我假設你在「工作日曆」視圖控制器中設置了它,除非該控制器有更多的子視圖,否則它將不起作用。

嘗試將導航欄leftButtonItem屬性設置爲nil。

55
viewController.navigationItem.hidesBackButton = YES; 

這很好用!

+2

在我的情況self.navigationItem。hidesBackButton = YES; 這工作:) – iMeMyself

+7

這是正確的答案。 –

+3

這是正確的評論:) – Fattie

13

剛剛使用這個,它的工作原理。

[self.navigationItem setHidesBackButton:YES animated:NO]; 
self.navigationItem.titleView.center = self.navigationController.navigationBar.center; 
+0

+1 - 這爲我工作。 – viral

+0

它也適用於我,謝謝。 –