首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >ContainerView -看上去有多近?

ContainerView -看上去有多近?
EN

Stack Overflow用户
提问于 2018-05-30 08:06:49
回答 1查看 53关注 0票数 0

我有一个故事板:

这个代码是:

代码语言:javascript
复制
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)")
    }

在左侧菜单中,我使用以下代码在这个容器视图中打开各种视图:

代码语言:javascript
复制
showSubViewInContainerView(view: "view1")
showSubViewInContainerView(view: "view2")
showSubViewInContainerView(view: "view3")
showSubViewInContainerView(view: "view4")

这个代码很简单。唯一的问题是,当我在容器视图中打开一个新视图时,我想关闭以前可见的视图。只有一个活动视图在容器视图中可见。

目前存在着相互重叠的观点。

有人知道怎么修吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-05-30 08:12:30

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

代码语言:javascript
复制
systemContainerView.subviews.forEach { $0.removeFromSuperview() }
systemContainerView.addSubview(controller.view)
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50599455

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档