2010-11-25 158 views
1

我有一個UIViewController,帶有navigationController,並隱藏後退按鈕。該視圖控制器推其他的UIViewController,並在這個新的viewController的viewDidLoad中,我做的:後退按鈕不會出現在導航控制器

self.navigationItem.hidesBackButton = FALSE; 

但後退按鈕不happear。爲什麼?當我傳遞給iOS 4.2的新Xcode版本時,這是行不通的,因爲在最新版本中,它一切正常。

+0

您可以發佈)的代碼使用推視圖控制器和b)`viewDidLoad中: `在你的新視圖控制器中。 – Fred 2010-11-25 22:48:57

回答

8

是否有前導航控制器(在導航欄上)的標題?有時,如果沒有標題,則第一個後退按鈕會自動隱藏。

+0

這是「正確」的答案 - iOS 3.x是「buggy」/與後來的iOS版本不一致。在iOS 3.x中,後退按鈕是不可見的,但如果您嘗試點擊它應該在的位置,它實際上會將您帶回。這種說,這是一個真正的界面小故障/錯誤在iOS 3.x ... – Jonny 2011-11-16 05:23:02

1

我傾向於同意Syoleen,應該有一個標題文本設置爲導航控制器,您可以將標題設置爲@「」(即那裏有一個空間),如果你不希望它顯示但仍然活躍。

+0

我發現這個伎倆錯誤的硬性方式。但我不會建議使用它,因爲用戶失去了iPhone界面的直觀性。 – 2010-11-26 00:59:25

3

如果您使用界面生成器,檢查連接到導航控制器..爲了清楚起見,在IB視圖控制器內的導航項目對象:

導航控制器||東西視圖控制器||導航項目

在檢查器的屬性選項卡上,應該有一個名爲「後退按鈕」的文本字段。確保它有諸如「返回」之類的內容。

在列出第一個ViewController後,它將通過堆棧傳播。

+1

您也可以編程設置後退按鈕標題。 – 2010-11-30 17:19:58

2

那麼,我有同樣的問題運行iOS 4.2。後退按鈕將拒絕出現。在自動繪製到風景後,它就會出現。我的解決辦法是做到以下幾點 - 這解決了問題...或者我們應該說,它的一個解決辦法;)

- (void)viewDidLoad 
{ 
    [super viewDidLoad]; 
    checkHolder.image = anImage; 
    self.navigationItem.hidesBackButton = YES; 
} 

- (void)viewDidAppear:(BOOL)animated { 
    [super viewDidAppear:animated]; 
    self.navigationItem.hidesBackButton = NO; 
} 
+0

我在iOS 4.2中遇到同樣的問題,你的破解修正了它。 iOS 4.3到5.0並不需要這個破解。我還沒有在iOS上測試少於4.2,所以我不能告訴這個問題是否獨佔4.2。 – JoJo 2011-10-29 00:53:47

相關問題