2015-08-25 72 views
2

我遇到了導航欄的後退按鈕上的一個奇怪的行爲。我會盡我所能來形容與截圖(通過鏈接,我不能沒有上傳尚)NavigationBar後退按鈕奇怪的行爲,不工作

這是第一個屏幕,或隱藏導航欄的父視圖:Screen 1

下面是代碼對於第一個畫面:

override func viewDidLoad() { 
    super.viewDidLoad() 
    self.navigationController?.navigationBarHidden = false 
    // Do any additional setup after loading the view. 
} 
override func viewWillAppear(animated: Bool) { 
    self.navigationController?.navigationBarHidden = false 
} 

這是我推的視圖控制器代碼:

var second = self.storyboard?.instantiateViewControllerWithIdentifier("As_ThirdViewControllerID") as! As_ThirdViewController! 

self.navigationController?.pushViewController(second, animated: true) 

當您單擊最後一個標籤欄按鈕,它瓦特生病給你帶來的第二個屏幕:Screen 2

相同的代碼作爲第一個畫面,只有,導航欄不隱藏

現在,在第二個屏幕,你可以看到一個按鈕...當你點擊按鈕,您將被帶到第三和最後一個畫面: Screen 3

相同的代碼作爲第一個畫面,只有,導航欄不隱藏

行爲怪異: 當我刷回去(第三個屏幕 - > second - > parent) - ITS WORKING .. 當我按THIRD和最後一個屏幕上的按鈕 - >它看起來像這樣: Screen 4 - 不工作,不會回到上一個屏幕......單詞「後退」突然離開箭頭

我沒有很多的代碼在我的班,截至目前,因爲我剛剛開始,制定設計,所以我無法弄清楚什麼是錯我的節目..

+0

爲什麼要標記這個Objective C?它的Swift(非常醜陋)。刪除標籤或添加Java,AngularJS和其他標籤,並惹惱更多的人。耶穌迅速的開發人員很煩人。 – latenitecoder

+0

使鏈接被大家訪問,而不必請求訪問。 – EridB

+0

嗨,對不起,我已經把鏈接公開了.. –

回答

1

這通常發生在你導航控制器堆棧和navigationBar堆棧不匹配。

嘗試添加自定義按鈕,選擇然後彈出使用

self.navigationController.popViewController(viewController); 
+1

不匹配發生是因爲您在一個VC上沒有導航欄按鈕,而在其他VC上有導航欄按鈕。 –

+0

你爲什麼要提問兩次? http://stackoverflow.com/questions/32218716/navigation-button-strange-behavior-not-working-with-video(另一個) –

+0

發佈您的完整代碼或託管它的地方。我試過了你的場景,無法重現問題。它對我來說工作得很好。 –

0

我不能編輯自己的帖子,該網站表示,它已經格式化代碼,當所有我已經添加了低於有碼的後一個句子在我甚至編輯它之前。我什麼也沒發生。

但這裏是我所做的:

看來這是iOS中的錯誤,我看到了類似的帖子,沒有人解決了這個問題本身:

Navigation stack becomes unusable after canceling iOS 7 back swipe gesture

我只是跟着建議並禁用interactivePopGestureRecognizer