快速弹出视图未从另一个弹出视图显示

时间:2020-03-12 21:04:51

标签: ios swift uiview popup

我是Swift的新手,我想显示myFirst弹出视图,然后单击myFirst弹出视图中的按钮时,我想关闭myFirst弹出视图并打开mySecond弹出视图。但是在关闭myFirst弹出视图之后,mySecond弹出视图不显示。

这是我到目前为止所尝试的;

要打开myFirst弹出窗口,请执行以下操作:

presentPopupView(myFirst!)

它工作正常,然后当我在此弹出视图中单击按钮时,我正在这样做:

        self.dismissPopupView()

        self.presentPopupView(mySecond!)

在这里,myFirst弹出窗口正确关闭。但是没有显示mySecond弹出视图。

有什么建议吗?谢谢

更新:我正在使用STZPopupView library

这里是presentPopupView方法:

public func presentPopupView(_ popupView: UIView, config: STZPopupViewConfig = STZPopupViewConfig()) {

    if self.containerView != nil {
        return
    }

    let containerView = UIView(frame: targetView.bounds)
    containerView.autoresizingMask = [.flexibleHeight, .flexibleWidth]
    let overlayView = UIView(frame: targetView.bounds)
    overlayView.autoresizingMask = [.flexibleHeight, .flexibleWidth]
    overlayView.backgroundColor = config.overlayColor
    containerView.addSubview(overlayView)

    // blur effect
    if let blurStyle = config.blurEffectStyle {
        let blurEffectView = UIVisualEffectView(effect: UIBlurEffect(style: blurStyle))
        blurEffectView.frame = containerView.frame;
        blurEffectView.autoresizingMask = [.flexibleHeight, .flexibleWidth]
        containerView.addSubview(blurEffectView)
    }

    let dismissButton = UIButton(frame: targetView.bounds)
    dismissButton.autoresizingMask = [.flexibleHeight, .flexibleWidth]
    containerView.addSubview(dismissButton)
    if config.dismissTouchBackground {
        dismissButton.addTarget(self, action: #selector(dismissPopupView), for: UIControl.Event.touchUpInside)
    }

    popupView.center = CGPoint(x: targetView.bounds.midX, y: targetView.bounds.midY)
    popupView.autoresizingMask = [.flexibleLeftMargin,
                                  .flexibleTopMargin,
                                  .flexibleRightMargin,
                                  .flexibleBottomMargin]
    popupView.layer.cornerRadius = config.cornerRadius
    containerView.addSubview(popupView)

    targetView.addSubview(containerView)

    self.containerView = containerView
    self.popupView = popupView
    self.config = config

    showAnimation()
}

0 个答案:

没有答案
相关问题