0

私はナビゲーションコントローラを持っていますので、メインビューのボタンをクリックすると、「戻る」ナビゲーションアイテムを含む別のビューが開きます。ナビゲーションコントローラにもう一度戻るボタンを追加

私がしようとしているのは、右側の2番目のビューに別のアイテムを追加することです。このビューには、すでに動作している「戻る」アイテムと、同じことをする新しい「編集」アイテムが必要です私は補完のいくつかのコードを実行するprepareForSegue関数を得ることができます。

どうすれば実現できますか?ここで

は、私が試したものです:私は2つのナビゲーションコントローラを使用してい

enter image description here

私の2番目のビューは、ナビゲーションコントローラに埋め込むされなかった場合、私は「編集」の項目を追加することができなかったので。 これは動作していますが、私は2つの "戻る"と "編集"項目を持っていますが、 "編集"項目の "戻る"項目と同じ振る舞いをする方法はわかりません。期待どおりに動作しません。 私が最初のビューで話したボタンは、エディタやそのセグには表示されていないことに注意してください。プログラムで行いました。

+0

prepareForSegueはないPopViewControllerのためのViewControllerをプッシュするためですが、あなたがここに求めていることは、私は右のあなたを取得していた場合、以前のViewControllerに戻ってデータを送信する方法であります - ? –

+0

エレガントでないかもしれない特定の動作を実装することを尋ねるのではなく、一般的に何を解決しようとしているのかを説明してください。 –

答えて

1

edit buttonをタップすると簡単にpopViewController(animated:)を呼び出すことができます。

class ViewController: UIViewController 
{ 
    override func viewDidLoad() 
    { 
     super.viewDidLoad() 
     let editItem = UIBarButtonItem(title: "Edit", style: .plain, target: self, action: #selector(editButtonTapped(_:))) 
     self.navigationItem.rightBarButtonItem = editItem 

    } 

    @objc func editButtonTapped(_ sender: UIBarButtonItem) 
    { 
     self.navigationController?.popViewController(animated: true) 
    } 
} 

絵コンテ:

enter image description here

+0

これは完璧に機能しているので、ソリューションが単純なときには複雑すぎるものを試しました。今私が理解していない最後のことは、エディタでこの編集ボタンを追加する方法です。 2番目のビューの単純なドラッグは何もしません。そのため、私はこの編集ボタンを置くことができる2番目のナビゲーションコントローラを使用しました。 – Drakalex

関連する問題