我是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()
}