2016-08-23 6 views
1

ナビゲーションをプログラムで設定しましたbackBarbuttonitemは何もしませんか?

ビューコントローラではバックボタンを設定し、ドキュメントごとにタイトルを変更します。 しかし、子コントローラの戻るボタンをクリックしても何もしません。

私は何を欠場しましたか?

> in a viewController 

    let backItem = UIBarButtonItem() 
    backItem.title = "" 
    navigationItem.backBarButtonItem = backItem 
    self.navigationController?.pushViewController(secondViewController, animated: true) 

答えて

1

あなたがボタンにターゲットとアクションを追加する必要があり、

let backItem = UIBarButtonItem() 
backItem.title = "" 
backItem.target = self 
backItem.action = #selector(back) 
navigationItem.backBarButtonItem = backItem 
self.navigationController?.pushViewController(secondViewController, animated: true) 

、その後バック()関数を実装します。

func back() { 
    // If your view controller was presented by a navigation controller 
    self.navigationController?.popViewControllerAnimated(true) 

    // If your view controller was presented modally 
    self.presentingViewController?.dismiss(animated: true, completion: nil) 
} 
+0

実際には、スワイプジェスチャーの両方が機能します。 dismissはdismissViewControllerAnimated(アニメーション:true、完了:なし)ですが、backButtonの.touchUpinsideではありません。この動作は正常ですか? TouchUpInsideをどのように追加できますか? –

関連する問題