仅在关闭时才打开自定义弹出窗口

问题描述 投票:0回答:1

我有一个弹出窗口,我这样称呼:

if !MainView.isOpen.isPopupOpen{
        if #available(iOS 13.0, *){
            MainView.isOpen.init(isPopupOpen: true)
                var popOverVc = UIStoryboard(name: "CreateSurvey", bundle: 
  nil).instantiateViewController(identifier: "greatPopup") as! PopupViewController
                   self.addChild(popOverVc)
                                  popOverVc.view.frame = self.view.frame
                                  self.view.addSubview(popOverVc.view)
                                  popOverVc.didMove(toParent: self)
            }
    }
}

我无法检查其是否为假,因为xcode在说:实例成员'isPopupOpen'不能用于类型'MainView.isOpen'我试图使用结构来获取当前状态,但是没有成功。这是我的结构:

  struct  isOpen {
  var isPopupOpen: Bool!
}

这是我尝试在弹出的viewcontroller中更改结构的值的方式:

@IBAction func removeAnimation(_ sender: Any) {
    MainView.isOpen.init(isPopupOpen: false)
    removeAnimate()
}

还有其他方法可以解决此问题,仅在弹出窗口关闭时才打开它,或者我该如何解决此问题?

Thx

swift popupwindow
1个回答
0
投票

您可以检查视图的子视图是否包含已添加的视图/视图控制器。可以通过以下方式实现:

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