2016-02-16 252 views
0

我是新的iOS開發,我將嘗試使用下面的代碼,以電流控制器推到下一個控制器如何將後退圖標添加到左側欄按鈕?

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

然而,當我進入下一個控制器,還有左邊後退圖標酒吧按鈕(是的,這正是我想要的)。問題是,因爲我打算執行unwind segue操作,所以我必須手動將bar按鈕項添加到新控制器,並控制拖動到出口以執行unwind segue操作。好吧,罰款,事情是當我調試它,後面的圖標丟失!我如何讓背部圖標再次出現?我不想只是簡單的文本,我希望有一個圖標,導致用戶知道這是一個後退按鈕

如果我沒有指定任何欄按鈕進入新的控制器,它會顯示這樣的

http://s17.postimg.org/duy58azxp/Screen_Shot_2016_02_16_at_2_13_27_PM.png

如果我分配欄按鈕項目,並指定標題的後面,該圖標將顯示爲這個

http://s27.postimg.org/n8yngdqcx/Screen_Shot_2016_02_16_at_2_13_11_PM.png

+0

你隱藏你的背部圖標在你的代碼中的任何地方 –

+0

我甚至沒有編碼該按鈕上的任何東西。 –

回答

1

你不需要做任何的按鈕。什麼你需要做的卻是:

  1. 創建一個新的類並覆蓋UINavigationControllerDelegate
  2. 添加方法navigationController:animationControllerForOperation:fromViewController:toViewController:
  3. 上述功能中,添加一些邏輯是這樣的:
func navigationController(navigationController: UINavigationController, animationControllerForOperation operation: UINavigationControllerOperation, fromViewController fromVC: UIViewController, toViewController toVC: UIViewController) -> UIViewControllerAnimatedTransitioning? 
{ 
    if fromVC is YourOtherViewController && toVC is YourMainViewController { 
     return CustomAnimator() 
    } 

    return nil 
} 

凡CustomAnimator是UIViewControllerAnimatedTransitioning

012子類
  1. 將導航控制器的代理設置在故事板中。

若要執行步驟4,

  1. 將一個Object到視圖的頂部條(它應該First ResponderExit之間去,像這樣:
    Object position
  2. 在屬性檢查員,將新的Object的類別設置爲您在第一步中創建的任何文件。
  3. 連接delegate outlet UINavigationControllerObject
0

viewDidLoad()中輸入此代碼。

navigationItem.leftBarButtonItem = UIBarButtonItem(image: UIImage(named: "imagename"), style: UIBarButtonItemStyle.Plain, target: self, action: "leftbuttonclick") 
相關問題