在容器

时间:2016-08-21 21:14:27

标签: ios swift

我有一个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>.

我希望有人可以帮助我。

1 个答案:

答案 0 :(得分:1)

默认情况下,呈现视图控制器将占据整个屏幕。我相信你要找的是将视图控制器推到导航堆栈上。使用pushViewController(_:animated:)

示例:

self.navigationController.pushViewController(vc, animated: true)
  

推送 视图控制器会导致其视图嵌入导航界面。”

有关详细信息,请参阅Apple docs