【发布时间】:2020-07-02 22:00:00
【问题描述】:
我对 Swift 很陌生,对此找不到任何好的解释。我希望用户在单击警报中的 UITextField 并在 textField 中显示值时选择持续时间(h:m:s)。 谁能给我一个提示或解释。
【问题讨论】:
我对 Swift 很陌生,对此找不到任何好的解释。我希望用户在单击警报中的 UITextField 并在 textField 中显示值时选择持续时间(h:m:s)。 谁能给我一个提示或解释。
【问题讨论】:
UITextField 有一个名为 UITextFieldDelegate 的委托协议
在您的视图控制器中:
func viewDidLoad() {
super.viewDidLoad()
yourTextField.delegate = self
}
使您的 viewController 符合此委托。有一个 textFieldShouldBeginEditing 方法,当用户点击文本字段时调用它。你在这里返回 false,所以 textField 不会成为第一响应者,键盘也不会打开,你可以展示你的选择器。
extension viewController: UITextFieldDelegate {
func textFieldShouldBeginEditing(_ textField: UITextField) -> Bool {
//open your alert here
openPicker()
return false
}
}
您可以使用 UIPickerView 向用户呈现。您可以在此处阅读相关内容,甚至可以根据示例创建它: explanation and example of UIPickerView
【讨论】: