视图第二次不显示[快速]

时间:2018-07-28 18:03:05

标签: swift uikit

在我的快捷应用程序中,我创建了以下两个功能:

func presentAlertView() {

    backgroundLogOutView.frame = UIScreen.main.bounds
    backgroundLogOutView.backgroundColor = currentTheme.backgroundColor.withAlphaComponent(0.5)
    logOutAlertView.frame.size = CGSize(width: 200, height: 200)
    logOutAlertView.center = CGPoint(x: view.frame.width / 2, y: view.frame.height / 2 - (navigationController?.navigationBar.frame.size.height)!)

    view.addSubview(backgroundLogOutView)
    backgroundLogOutView.addSubview(logOutAlertView)

    logOutAlertView.transform = CGAffineTransform(scaleX: 1.3, y: 1.3)
    logOutAlertView.alpha = 0

    UIView.animate(withDuration: 0.4, animations: {

        self.logOutAlertView.alpha = 1
        self.logOutAlertView.transform = CGAffineTransform.identity
    })
}

@objc func removeAlertView() {

    UIView.animate(withDuration: 0.4, animations: {

        self.logOutAlertView.transform = CGAffineTransform(scaleX: 1.3, y: 1.3)
        self.logOutAlertView.alpha = 0

        self.backgroundLogOutView.transform = CGAffineTransform(scaleX: 1.3, y: 1.3)
        self.backgroundLogOutView.alpha = 0

    }) {(success: Bool) in

        self.logOutAlertView.removeFromSuperview()
        self.backgroundLogOutView.removeFromSuperview()
        self.tableView.deselectRow(at: [0,4], animated: true)
    }
}

通过单击按钮,将调用presentAlertView()函数,并显示视图,然后在调用removeAlertView()函数时,视图将消失。一切都好。 但是,当我第二次点击按钮时,视图不会出现! 为什么会这样?

谢谢

1 个答案:

答案 0 :(得分:0)

self.backgroundLogOutView.alpha = 0

存在于removeAlertView()中。

self.backgroundLogOutView.alpha = 1

presentAlertView()中可能丢失。