Ios ContainerView-离不可见视图有多近

Ios ContainerView-离不可见视图有多近,ios,swift,swift3,swift4,Ios,Swift,Swift3,Swift4,我有一个故事板: 该代码: var actualVisibleView : String? = nil func showSubViewInContainerView(view: String){ let controller = storyboard!.instantiateViewController(withIdentifier: view) addChildViewController(controller) controller.vi

我有一个故事板:

该代码:

var actualVisibleView : String? = nil

func showSubViewInContainerView(view: String){
        let controller = storyboard!.instantiateViewController(withIdentifier: view)
        addChildViewController(controller)
        controller.view.translatesAutoresizingMaskIntoConstraints = false

        systemContainerView.addSubview(controller.view)

        NSLayoutConstraint.activate([
            controller.view.leadingAnchor.constraint(equalTo: systemContainerView.leadingAnchor),
            controller.view.trailingAnchor.constraint(equalTo: systemContainerView.trailingAnchor),
            controller.view.topAnchor.constraint(equalTo: systemContainerView.topAnchor),
            controller.view.bottomAnchor.constraint(equalTo: systemContainerView.bottomAnchor)
            ])

        controller.didMove(toParentViewController: self)

        if self.actualVisibleView != nil && self.actualVisibleView != view {
            controller.dismiss(animated: false) {
                print("UBIJAM: \(view)")
            }
        }
        self.actualVisibleView = view
        print("OTWIERAM: \(view)")
    }
在左侧菜单中,我使用以下代码打开此containerview中的各种视图:

showSubViewInContainerView(view: "view1")
showSubViewInContainerView(view: "view2")
showSubViewInContainerView(view: "view3")
showSubViewInContainerView(view: "view4")
这个代码工作起来很轻松。唯一的问题是,当我在容器视图中打开一个新视图时,我想关闭以前可见的视图。 containerview中只有一个活动视图可见

目前有一些观点相互重叠


有人知道如何修复它吗?

在容器中添加新视图之前,请删除其他视图

systemContainerView.subviews.forEach { $0.removeFromSuperview() }
systemContainerView.addSubview(controller.view)

在容器中添加新视图之前,请删除其他视图

systemContainerView.subviews.forEach { $0.removeFromSuperview() }
systemContainerView.addSubview(controller.view)