尝试创建多个按钮和多个标签,以便在单击按钮时弹出警报控制器(使用文本字段,确定按钮,清除按钮和取消按钮)。
我试图最小化代码量,所以我制作了一系列标签:
@IBOutlet var textFieldLabel: [UILabel]!
@IBAction func textFieldTapped(_ sender: UIButton) {
print("Other11 Button Tapped")
openOther11Alert()
}
func openOther11Alert() {
//Create Alert Controller
let alert = UIAlertController (title: "Other:", message: nil, preferredStyle: UIAlertControllerStyle.alert)
//Create Clear Action
let bt = UIAlertAction(title: "CLEAR", style: UIAlertActionStyle.destructive){
(action) in self.textFieldLabel[0].text = ""}
alert.addAction(bt)
//Create Cancel Action
let cancel = UIAlertAction(title: "Cancel", style: UIAlertActionStyle.cancel, handler: nil)
alert.addAction(cancel)
//Create OK Action
let ok = UIAlertAction(title: "OK", style: UIAlertActionStyle.default) { (action: UIAlertAction) in print("OK")
let textfield = alert.textFields?[0]
print(textfield?.text! as Any)
self.textFieldLabel[0].text = textfield?.text!
}
alert.addAction(ok)
//Add Text Field
alert.addTextField { (textfield: UITextField) in
textfield.text = self.textFieldLabel[0].text
textfield.placeholder = "Other"
}
//Present Alert Controller
self.present(alert, animated:true, completion: nil)
}
编辑: 我想点击按钮对应标签。目前,我只引用标签数组中的第一个元素(标签):
self.textFieldLabel[0].text
而不是引用" [0]" (第一个标签),我想引用点击的按钮,使按钮对应标签。
任何想法我是否能做我正在尝试的事情? 提前致谢! :)
答案 0 :(得分:-1)
UIAlertController Documentation
根据文档,text fields属性应该为您提供一个UITextFields数组。根据您的错误消息,您以某种方式获取UILabel数组。也许错误信息是在谈论其他事情?