在容器视图中的容器视图中提供视图控制器didSelectItemAtIndexPath swift

问题描述 投票:3回答:2

当我从集合视图中选择一个单元格时,我试图在容器视图中呈现视图控制器。问题是我似乎无法理解如何在集合视图下面的容器中显示它。enter image description here

我尝试过:

if (indexPath.row == 0){

                // Presenting first view controller

    let detailedViewController: ViewController =
          self.storyboard!.instantiateViewControllerWithIdentifier("ViewController") as! ViewController

                self.presentViewController(detailedViewController, animated: true, completion: nil)

如何使它进入容器而不是呈现整个视图控制器。预先感谢!

ios swift uicollectionview uicontainerview
2个回答
2
投票
self.addChildViewController(detailedViewController)
containerView.addSubview(detailedViewController.view)

0
投票

Swift 5.0使用此功能添加和删除子VC:

private func add(asChildViewController viewController: UIViewController, childFrame:CGRect) {
        // Add Child View Controller
        addChild(viewController)

        // Add Child View as Subview
        view.addSubview(viewController.view)

        // Configure Child View
        viewController.view.frame = childFrame
        viewController.view.autoresizingMask = [.flexibleWidth, .flexibleHeight]

        // Notify Child View Controller
        viewController.didMove(toParent: self)

    }
    private func remove(asChildViewController viewController: UIViewController) {
        // Notify Child View Controller
        viewController.willMove(toParent: nil)

        // Remove Child View From Superview
        viewController.view.removeFromSuperview()

        // Notify Child View Controller
        viewController.removeFromParent()
    }

here中采用

© www.soinside.com 2019 - 2024. All rights reserved.