私は、複数のAPIから統計情報を表示するモバイルアプリケーションを構築しています。 このアプリは、アクティブなAPIに基づいて異なる値を表示します。実行時に、ユーザーは値を表示するAPIを選択できます。ただし、値は常に同じTarget View Controller内に表示されます。UINavigationControllerでシーケンスを結合する
UINavigationControllerが使用されており、UITableViewControllerがナビゲーションバーをサポートしていても、可能であれば、ナビゲーションとナビゲーションUIのためにそれを延期したいと思います。
質問の最後にあるストーリーボードのデザインイメージをご覧ください。
環境:のiOS 9 /スウィフト2.2/XCodeの実行時には7
、ユーザーが選択し、コントローラからの選択ビューコントローラを選択します。 "Done" UIBarButtonを介して、Choiceビューコントローラの1つからターゲットコントローラにセグをする適切な方法は何ですか?ターゲットコントローラは変更されません。
UINavigationController内に埋め込まれているすべてのコントローラに対して、右のバーボタンを「完了」に設定する必要がありますか?
class UIViewController: UITableViewController { override func viewWillAppear(animated: Bool) { super.viewWillAppear(animated) self.navigationItem.rightBarButtonItem = UIBarButtonItem(title: "Done", style: UIBarButtonItemStyle.Plain, target: self, action: nil) } }
実際はChoiceコントローラからターゲットコントローラに移動したいと考えています。 self.navigationController.pushViewController(targetViewController)への最適なオプションです。これには、ビューコントローラの遷移をプログラムで定義することの欠点があります。 – Alex
ナビゲーションスタックの一部にしておきたい場合は、それをスタックにプッシュする方法があります。そうでない場合は、セグを使用するだけの問題です。セグを実装するためのオプションがいくつかあります(必要な場合はコードなし)。また、プログラム的に行うことは、私の意見では「欠点」ではありません。同じことをするのはちょっと違う方法です。 – NonCreature0714