如何在警报中访问 Uitextfield 的文本?
Posted
技术标签:
【中文标题】如何在警报中访问 Uitextfield 的文本?【英文标题】:how can i access the text of an Uitextfield in an alert? 【发布时间】:2019-10-21 19:13:01 【问题描述】:我创建了一个带有两个文本字段的警报,第二个文本字段的 inputView 是一个pickerview。我可以通过 alert.textfields?.first?.text 访问第一个文本字段的文本。我想在第二个文本字段中显示选择器视图项,但我不知道如何在选择器视图函数 didSelectRow 中访问 secondTextfield.text。 我该如何解决?
buttonAnimation(button: addButton)
passwordStringArray.insert("\(passwordLabel.text ?? "")", at: 0)
let alert = UIAlertController(title: "\(passwordLabel.text ?? "")", message: "customize your password", preferredStyle: .alert)
alert.addTextField (notesTextfield) in
notesTextfield.placeholder = "type in some notes"
notesTextfield.textAlignment = .center
alert.addTextField (categoryTextfield) in
categoryTextfield.placeholder = "choose your password category"
categoryTextfield.textAlignment = .center
categoryTextfield.inputView = self.picker
let actionSave = UIAlertAction(title: "save", style: .default) (cancelButton) in
self.dismiss(animated: true, completion: nil)
self.passwordNotesArray.insert("\(alert.textFields?.first?.text ?? "")", at: 0)
// self.passwordCategory.insert(categorytextfield.text)
self.performSegue(withIdentifier: "segue", sender: self)
let actionCancel = UIAlertAction(title: "cancel", style: .default) (saveButton) in
self.dismiss(animated: true, completion: nil)
alert.addAction(actionCancel)
alert.addAction(actionSave)
self.present(alert, animated: true)
func pickerView(_ pickerView: UIPickerView, didSelectRow row: Int, inComponent component: Int)
// how can i access alert.textfield.categorytectfield.text here ?
【问题讨论】:
看这里 在行动中你必须创建闭包:) 我希望这有助于***.com/questions/26567413/… 闭包是什么意思? 还是不行:/ 【参考方案1】:如果需要,您可以仅将其用作占位符。如果你想这样做,你必须创建一个警报函数,它可以从选择器函数中获取一个参数。你想要它作为占位符吗?使用占位符非常简单。如果你想把数据放在那里,我认为这是不可能的,因为警报应该获取数据,而不是里面。
要放置数据以提醒您的警报功能,需要从 pickerView 中获取一个字符串参数。必须在 pickerview didselect 函数内调用警报。
【讨论】:
以上是关于如何在警报中访问 Uitextfield 的文本?的主要内容,如果未能解决你的问题,请参考以下文章
iPhone:如何在自定义单元的动态数量上管理 UITextfield 委托方法
iOS:如何从 tableview 的自定义单元格中的 UITextField 访问值