我有一个UIViewController。在这个UIViewcontroller中是一个容器。在这个容器中是一个标签栏控制器。其中一个选项卡是嵌入在导航控制器中的PageViewController。其中一个页面是UITableViewController。
UIViewController->Container->TabBarController->NavigationController->PageViewController->UITableViewController
如果单击其中一个单元格,我想显示UIViewContoller。但是这个UIViewcontroller应该只在容器和NavigationController中。如果我点击一个单元格,你可以看到0.3秒的正确结果。使用导航栏上的“后退”按钮。但随后UIViewController切换到完整大小。
我按如下方式显示UIViewController:
let storyboard = UIStoryboard(name: "Main", bundle: nil)
let vc = storyboard.instantiateViewControllerWithIdentifier("article")
self.presentViewController(vc, animated: true, completion: nil)
我得到以下Waring:
Presenting view controllers on detached view controllers is discouraged <Test.AllArticlesTableViewController: 0x7f812bd227d0>.
我希望有人可以帮助我。
答案 0 :(得分:1)
默认情况下,呈现视图控制器将占据整个屏幕。我相信你要找的是将视图控制器推到导航堆栈上。使用pushViewController(_:animated:)
。
示例:强>
self.navigationController.pushViewController(vc, animated: true)
“ 推送 视图控制器会导致其视图嵌入导航界面。”
有关详细信息,请参阅Apple docs。