在选择时关闭作为 UITextField 输入视图的 UIPickerView
Posted
技术标签:
【中文标题】在选择时关闭作为 UITextField 输入视图的 UIPickerView【英文标题】:Close UIPickerView that is an UITextField inputview on selection 【发布时间】:2021-02-03 11:25:07 【问题描述】:我正在尝试在进行选择时关闭我的 UIPickerView:
let pickerElement = UIPickerView()
let textfieldElement = UITextField()
textfieldElement.inputView = pickerElement
pickerElement.delegate = self
pickerElement.dataSource = self
// ...
func pickerView(_ pickerView: UIPickerView, didSelectRow row: Int, inComponent component: Int)
textfieldElement.text = options[row].label as? String
selectedElementId = options[row].id
// this is not doing anything
pickerElement.resignFirstResponder()
pickerView.resignFirstResponder()
// leaves the grey view open
pickerElement.isHidden = true
pickerView.isHidden = true
这似乎不起作用,它打开了底部的灰色视图:
【问题讨论】:
试试这个 textfieldElement.resignFirstResponder() @RajaKishan 是的,就是这样! 【参考方案1】:您需要退出文本字段而不是选择器或其他任何内容。
添加这个
textfieldElement.resignFirstResponder()
或者你也可以使用
self.view.endEditing(true)
注意:删除所有其他内容,例如退出其他视图或隐藏。
【讨论】:
以上是关于在选择时关闭作为 UITextField 输入视图的 UIPickerView的主要内容,如果未能解决你的问题,请参考以下文章
使用UITextField + UIPickerview时禁用键盘输入