在Swift 4中,使用UIAlertAction来处理操作按钮的点击事件,并更新UILabel的内容是很常见的需求。下面是一种实现方式:
首先,您需要创建一个UIAlertController,并添加一个UIAlertAction,然后将UIAlertController呈现在视图控制器上。
// 创建UIAlertController
let alertController = UIAlertController(title: "标题", message: "消息", preferredStyle: .alert)
// 创建UIAlertAction并添加处理程序
let action = UIAlertAction(title: "确定", style: .default) { (_) in
// 在此处更新UILabel的文本
myLabel.text = "新的文本"
}
// 将UIAlertAction添加到UIAlertController
alertController.addAction(action)
// 呈现UIAlertController
present(alertController, animated: true, completion: nil)
在上述代码中,您可以替换"标题"和"消息"为实际需要显示的文本。另外,您需要将"确定"替换为您需要的按钮文本,并在处理程序闭包中更新UILabel的文本。
至于为什么在Swift 4中可能不起作用,有几个可能的原因:
layoutIfNeeded()
或者setNeedsLayout()
方法来触发界面的更新。综上所述,Swift 4中使用UIAlertAction处理程序更新UILabel应该是有效的,如果不起作用,请仔细检查代码逻辑和UI更新的问题。
领取专属 10元无门槛券
手把手带您无忧上云