Быстрое всплывающее окно не отображается из другого всплывающего окна - PullRequest
0 голосов
/ 13 марта 2020

Я новичок в swift, и я хотел бы показать всплывающее окно myFirst, затем, когда я нажал кнопку внутри всплывающего представления myFirst, я хотел бы закрыть всплывающее представление myFirst и открыть всплывающее представление mySecond. Но после того, как всплывающее окно myFirst исчезло, всплывающее окно mySecond не отображается ..

Вот что я пробовал до сих пор;

Чтобы открыть всплывающее окно myFirst:

presentPopupView(myFirst!)

это работает нормально, затем, когда я нажимаю кнопку в этом всплывающем окне, я делаю это:

        self.dismissPopupView()

        self.presentPopupView(mySecond!)

Здесь всплывающее окно myFirst корректно исчезает. Но всплывающее окно mySecond не отображается ..

Любой совет? Спасибо

Обновление: я использую STZPopupView библиотека

Здесь присутствует методPopupView:

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()
}
...