swift2 如何在一段时间后显示UIAlertView?

1bqhqjot  于 2022-11-06  发布在  Swift
关注(0)|答案(4)|浏览(173)

我尝试在一段时间后(比如在应用程序中执行某项操作后5分钟)显示UIAlertView。我已经在通知用户应用程序是否已关闭或处于后台。但我希望在应用程序运行时显示UIAlertView。我不想一次又一次地刷新。三分钟后,我必须显示一些警告,比如“您是否要保存?”

carvr3hs

carvr3hs1#

用途

self.perform(#selector(displayAlert), with: nil, afterDelay: 300)

其中,display alert是显示警报的函数。

ffscu2ro

ffscu2ro2#

这对我很有效:

self.timer = NSTimer.scheduledTimerWithTimeInterval(10.0, target: self, selector: #selector(SONGS.displayAlert), userInfo: nil, repeats: false)
func displayAlert()
{
   self.message.dismissWithClickedButtonIndex(0,animated: true)
}
iyzzxitl

iyzzxitl3#

我认为,对于具有自定义延迟的UIAlertView,还有一种替代的最佳方法,即您可以根据需要使用timeInterval调度本地通知。

jyztefdp

jyztefdp4#

最后,我找到了我的问题的答案:我正在使用点击手势和以下代码:

func displayAlert()
    {
        let alert = UIAlertController(title: "My Title", message: "This is my message.", preferredStyle: UIAlertControllerStyle.alert)

        // add an action (button)
        alert.addAction(UIAlertAction(title: "OK", style: UIAlertActionStyle.default, handler: nil))

        // show the alert
        self.present(alert, animated: true, completion: nil)
        self.timer = NSTimer.scheduledTimerWithTimeInterval(50.0, target: self, selector: #selector(SONGS.displayAlert), userInfo: nil, repeats: false)

        timer.invalidate()// stop the timer
}

如果你设置repeats:true,它会每50秒显示一次警报,如果你想停止计时器,你可以使用timer.invalidate()在任何你想要的地方。谢谢

相关问题