前提・実現したいこと
・①の画面にTabPageViewController(GitHubより導入)をimportしており、smartNewsのような画面切り替えを実現しようと思っています。
・現段階は、①にNavigationControllerをコードより実装し、それにTabPageViewControllerを適用し②、③の画面をスワイプで切り替えられるようにしています。
・②にはTableViewを実装し、カスタムセルを作りCellに画像が表示されるようにしています。
発生している問題・エラーメッセージ
※参考コードA参照
TabBarControllerから①の画面へ行き、
①の画面が表示されると同時に、TabPageViewController(NavigationController)が表示され
配列の最初に入っている②の画面が表示されるようにしています。
しかし、②の画面が表示される直前で、カスタムセルを定義しているクラスのsetSelectedメソッドの終わりに、breakpoint1.1が表示されます。
Presenting view controllers on detached view controllers is discouraged <macApp.CouponViewController: 0x7fe4d971b510>.
該当のソースコード
※参考コードA
allMenuViewController = ①
morningMenuViewController = ②
override func viewDidLoad() { super.viewDidLoad() let tabPageViewController = TabPageViewController.init() let navigationController = UINavigationController() let allMenuViewController:AllMenuViewController = self.storyboard?.instantiateViewController(withIdentifier: "AllMenuViewController") as! AllMenuViewController let morningMenuViewController:MorningMenuViewController = self.storyboard?.instantiateViewController(withIdentifier: "MorningMenuViewController") as! MorningMenuViewController tabPageViewController.tabItems = [(allMenuViewController,"First"), (morningMenuViewController,"Second")] navigationController.pushViewController(tabPageViewController, animated: true) self.present(navigationController, animated: false, completion: nil) }
試したこと
・カスタムセルのクラスは②のTableViewのCellに適用されていることを確認しました。
・instantiateViewControllerのidentifierが間違っていないことを確認しました。
補足情報(FW/ツールのバージョンなど)
ここにより詳細な情報を記載してください。
回答1件
あなたの回答
tips
プレビュー