コードとプロジェクトを更新し、Swift 3を学び、プログラム的な変更を学びます。質の高いiOSデベロッパーになることを望むなら、変更を受け入れることを学ぶことは、あなた自身の成功に向けた大きなステップです。コード内にナビゲーションコントローラを追加するのは非常に簡単です。ストーリーボードを通してすべてのことを強制することは自分自身を収縮させるだけです。私はこのチュートリアルを使用して、コード内の要素をどのように処理するかを学ぶことから始めました。 https://www.raywenderlich.com/78568/create-slide-out-navigation-panel-swift
これを使用してNavigationControllerを設定します。ここでは、ストーリーボードでのナビゲーションコントローラと同じ復元識別子が使用されていることと、「Main」とはナビゲーションがあるストーリーボードの名前コントローラが存在する。クラス変数メイクなど
private extension UIStoryboard {
class func mainStoryboard() -> UIStoryboard {
return UIStoryboard(name: "Main", bundle: Bundle.main)
}
class func someNavigationController() -> UINavigationController? {
return mainStoryboard().instantiateViewController(withIdentifier: "SomeNavigationController") as? UINavigationController
}
}
:私はこれを行う多くのビューコントローラを持って
someNavigationController = UIStoryboard.someNavigationController()!
someViewController = someNavigationController.childViewControllers.first! as! EiValueTableViewController
someNavigationController.view.frame = CGRect(x: 0, y: 0, width: view.frame.width, height: view.frame.height)
view.addSubview(someNavigationController.view)
addChildViewController(someNavigationController)
someNavigationController.didMove(toParentViewController: self)
:
var someNavigationController: UINavigationController!
var someViewController: UIViewController!
あなたはこのように、ナビゲーションコントローラを表示したい関数の内部との並べ替え。彼らはまだ完全にストーリーボードで作られていますが、これはあなたがセグを使って移行することを余儀なくされるのではなく、あなたが望む方法でそれらを使うことを可能にします。プログラマチックに行うことを依然として拒否している場合は、SplitViewControllerに移行することができます。このSplitViewControllerは、ガイドを見つけるのは簡単なはずですが、このような使い方を厳しくすることができます。
私はあなたの構造を再考する必要があると思います。最初のnavコントローラからタブバーを開き、タブ2に切り替えたら、どこに戻るボタンが表示されますか? スタックを保持したい場合は、最初のナビゲーションコントローラーのすべてを元に戻す必要があります。 – skwashua
私は4つのビューコントローラの戻るボタンをタブバーコントローラに戻したいと思います。自分のナビゲーションコントローラに4つのビューコントローラを組み込んだ理由は、編集/完了ボタンとそれに関連する動作を個別に操作できるようにするためです。あなたがこれを達成するための構造について、何か提案や役に立つヒントを持っているなら、それは非常に感謝しています。 – HumbleOne
@mattあなたの洞察に感謝します。私はあなたが建設的に問題に取り組むことができてうれしく思っています。私はあなたが答える資格以上のものだと確信しています。 – HumbleOne