我尝试在一段时间后(比如在应用程序中执行某项操作后5分钟)显示UIAlertView。我已经在通知用户应用程序是否已关闭或处于后台。但我希望在应用程序运行时显示UIAlertView。我不想一次又一次地刷新。三分钟后,我必须显示一些警告,比如“您是否要保存?”
carvr3hs1#
用途
self.perform(#selector(displayAlert), with: nil, afterDelay: 300)
其中,display alert是显示警报的函数。
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) }
iyzzxitl3#
我认为,对于具有自定义延迟的UIAlertView,还有一种替代的最佳方法,即您可以根据需要使用timeInterval调度本地通知。
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()在任何你想要的地方。谢谢
4条答案
按热度按时间carvr3hs1#
用途
其中,display alert是显示警报的函数。
ffscu2ro2#
这对我很有效:
iyzzxitl3#
我认为,对于具有自定义延迟的UIAlertView,还有一种替代的最佳方法,即您可以根据需要使用timeInterval调度本地通知。
jyztefdp4#
最后,我找到了我的问题的答案:我正在使用点击手势和以下代码:
如果你设置repeats:true,它会每50秒显示一次警报,如果你想停止计时器,你可以使用timer.invalidate()在任何你想要的地方。谢谢