在UIAlertController中添加倒计时定时器可以通过以下步骤实现:
以下是一个示例代码:
// 创建UIAlertController对象
let alertController = UIAlertController(title: "倒计时", message: "剩余时间:", preferredStyle: .alert)
// 创建UILabel对象
let countdownLabel = UILabel(frame: CGRect(x: 0, y: 0, width: 200, height: 30))
countdownLabel.textAlignment = .center
countdownLabel.font = UIFont.systemFont(ofSize: 20)
countdownLabel.text = "10" // 初始倒计时值
alertController.view.addSubview(countdownLabel)
// 创建定时器
var countdown = 10
let timer = Timer.scheduledTimer(withTimeInterval: 1, repeats: true) { timer in
countdown -= 1
countdownLabel.text = "\(countdown)"
if countdown == 0 {
timer.invalidate()
alertController.dismiss(animated: true, completion: nil)
}
}
// 将定时器添加到当前RunLoop中
RunLoop.current.add(timer, forMode: .common)
// 显示UIAlertController
present(alertController, animated: true, completion: nil)
这段代码会创建一个带有倒计时功能的UIAlertController弹窗,每秒更新一次倒计时的文本,当倒计时结束时自动关闭弹窗。你可以根据需要调整倒计时的初始值和样式。
领取专属 10元无门槛券
手把手带您无忧上云