【问题标题】:Multiple child table view controller in UIViewController swiftUIViewController swift中的多个子表视图控制器
【发布时间】:2015-06-03 10:08:07
【问题描述】:

我是一个新手 Swift 开发者。我想从专家那里得到一些关于如何解决我面临的以下问题的建议。

我正在尝试在 UIViewController 中嵌入两个子视图控制器,并在 UIViewController(即父视图控制器)中同时显示它们

这两个子视图控制器都是 UITableViewControllers:第一个是一个表格视图,有两个部分,每个部分 3 行,第二个子视图也是一个表格,但它动态显示一些数据。

使用下面的代码,我成功地加载并显示了每个 UITableViewController,但我无法同时将它们显示在另一个下方。 有什么办法可以解决我的问题吗?

非常感谢您的耐心和善意。

class ViewController: UIViewController {

    override func viewDidLoad() {
        super.viewDidLoad()

        let storyboard = UIStoryboard(name: "Main", bundle: nil)
        let firstTable = storyboard.instantiateViewControllerWithIdentifier("FirstTable") as! UINavigationController
        let thirdTable = storyboard.instantiateViewControllerWithIdentifier("ThirdTable") as! UINavigationController

        self.addChildViewController(firstTable)
        firstTable.view.frame = self.view.bounds
        self.view.addSubview(firstTable.view)
        firstTable.didMoveToParentViewController(self)

        self.addChildViewController(thirdTable)
        thirdTable.view.frame = self.view.bounds
        self.view.addSubview(thirdTable.view)
        thirdTable.didMoveToParentViewController(self)
    }
}

【问题讨论】:

    标签: ios swift uiviewcontroller parent-child


    【解决方案1】:

    您可以在故事板中轻松添加容器,该容器可以使用控件拖动和选择嵌入连接到任何视图控制器

    希望对你有帮助!

    【讨论】:

      【解决方案2】:

      为了在同一个 UIViewController 上显示多个 UIViewController,Apple 建议使用容器视图 (https://developer.apple.com/library/ios/featuredarticles/ViewControllerPGforiPhoneOS/CreatingCustomContainerViewControllers/CreatingCustomContainerViewControllers.html)。 本质上,它们充当子 UIViewController 的视图目标。 这样你就可以在一个 UIViewController 上有多个 UIViewController 视图。

      但是,您确定您的表视图需要两个单独的控制器吗? 如果您可以使用单个控制器来处理两个表视图,我建议您使用 UIViewController 而不是 UITableViewController,手动添加两个 UITableView,并将所需的数据源和委托方法添加到您的 UIViewController。

      【讨论】:

        猜你喜欢
        • 2017-03-23
        • 1970-01-01
        • 1970-01-01
        • 2018-04-04
        • 2015-06-17
        • 2016-09-02
        • 1970-01-01
        • 2023-03-23
        • 1970-01-01
        相关资源
        最近更新 更多