0

我创建了一个带有两个文本字段的警报,第二个 texfield 的 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 ?
    }
4

1 回答 1

0

如果需要,您只能将其用作占位符。如果你想这样做,你必须创建一个警报函数,它可以从选择器函数中获取一个参数。你想要它作为占位符吗?使用占位符非常简单。如果你想把数据放在那里,我认为这是不可能的,因为警报应该获取数据,而不是里面。

要放置数据以提醒您的警报功能,需要从 pickerView 中获取一个字符串参数。必须在 pickerview didselect 函数内部调用警报。

于 2019-10-23T15:34:43.647 回答