PageViewControllerでNavigationControllerを表示する
質問させてください。
下記のサイトを参考にStroyboardでPageviewControllerをTopに置いてるのですが、
https://qiita.com/Takeshi_Akutsu/items/dbf54df8e8a50e8ed5be
その内容のViewにStoryBoardからNavigationControllerをEmbed Inしました。
しかし、シュミレートすると、NavigationBarが表示されません。
直接StoryboardでView自体を指定しているから、
NavigationBarが表示されないのだろうということはわかるのですが、
どのようにコードを直したらいいのか、ご教諭いただけないでしょうか?
該当のソースコード
class PageViewController: UIPageViewController { override func viewDidLoad() { super.viewDidLoad() self.setViewControllers([getLeftView()], direction: .forward, animated: true, completion: nil) self.dataSource = self } func getLeftView() -> ChartViewController { return storyboard!.instantiateViewController(withIdentifier: "chartViewController") as! ChartViewController } func getRightView() -> LogViewController { return storyboard!.instantiateViewController(withIdentifier: "logViewController") as! LogViewController } } extension PageViewController: UIPageViewControllerDataSource { func pageViewController(_ pageViewController: UIPageViewController, viewControllerBefore viewController: UIViewController) -> UIViewController? { if viewController.isKind(of: ChartViewController.self) { return getRightView() } else if viewController.isKind(of: LogViewController.self) { return getLeftView() } return nil } func pageViewController(_ pageViewController: UIPageViewController, viewControllerAfter viewController: UIViewController) -> UIViewController? { if viewController.isKind(of: ChartViewController.self) { return getRightView() } else if viewController.isKind(of: LogViewController.self) { return getLeftView() } return nil } }
試したこと
ググってみたのですが、解決方法がよくわかりませんでした。
考え方を変えると、一番上のVIewにNavigationControllerをEmbed inして、
その中のViewにPageViewControllerを入れれば(方法が不明ですが)いいのですか?
補足情報(FW/ツールのバージョンなど)
Swift 4.2, Xcode 10
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/10/23 16:19
2018/10/24 04:09