ios - 在选择时关闭作为 UITextField 输入视图的 UIPickerView
问题描述
进行选择时,我试图关闭我的 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()
或者你也可以使用
self.view.endEditing(true)
注意:删除所有其他内容,例如辞职到其他视图或隐藏。
推荐阅读
- xamarin.forms - xamarin.forms 从代码中的数据模板将数据源馈送到视图中
- redhat - 如何在 Redhat 8 上安装 chrony
- c - 使用没有 stdio 的 C 清除来自 stdin 的剩余输入
- .net-core - iAnywhere.Data.SQLAnywhere.SAException 连接错误:连接已断开(可能不是 SQL Anywhere 服务器)
- sql - 计算余额
- flutter - Flutter:错误:MissingPluginException(在通道 plugins.flutter.io/path_provider 上找不到方法 getTemporaryDirectory 的实现)
- r - 将数据拆分为区域组
- selenium - Specflow + selenium .NET Core 项目中缺少 Chromedriver
- angular - 如何从 10 条记录时获取的其余 api 显示角度材料表分页的数据总数
- python - 如何用透明背景和填充覆盖轮廓图像?