在父ViewController UIView中以模态形式呈现ViewController

时间:2019-03-07 10:11:42

标签: ios swift xcode

我有一个主ViewController,通过使用addChild:Vc可以呈现与其他视图控制器(主要是表视图)不同的视图,我可以显示和删除子视图,但是问题在于它是视图层次结构,所以视图层将彼此重叠,每个子视图都有一个按钮,该按钮将关闭自身并在视图层次结构中重新呈现前一个视图。完全类似于导航栏的后退按钮。

enter image description here

到目前为止,我所做的是一个UIViewController扩展,它是:

func addChildVC(_ child: UIViewController,
                centerWith center: CGPoint? = CGPoint(x: 0.0, y: 0.0),
                insertInView insertIn: UIView? = nil,
                transition: UIView.AnimationOptions? = [],
                completion: ((Bool) -> Void)? = nil)
{
    self.addChild(child)

    if let center = center
    {
        child.view.center = center
    }

    if let insertIn = insertIn
    {
        insertIn.insertSubview(child.view, aboveSubview: insertIn.self)
    } else {
        self.view.addSubview(child.view)
    }

    child.didMove(toParent: self)
}

func removeChildVC()
{
    willMove(toParent: nil)
    view.removeFromSuperview()
    removeFromParent()
}

1 个答案:

答案 0 :(得分:0)

您需要浏览所包含的vc

第1步

enter image description here

步骤2 选择子级vc,然后

enter image description here

第3步

enter image description here

现在您可以在子vc内推入并弹出