选择后隐藏 UIPicker

Posted

技术标签:

【中文标题】选择后隐藏 UIPicker【英文标题】:Hide UIPicker after Selection 【发布时间】:2018-01-06 06:43:11 【问题描述】:

我有一个 UIPicker,我想保存选择并在选择后隐藏它。我找不到办法做到这一点。 我可以在没有“保存”按钮的情况下执行此操作吗?我可以按行保存选择吗? 目前我按下一个按钮使选择器出现(picker.isHidden = false),但在选择完成后它仍然存在。

  //Picker

func numberOfComponents(in pickerView: UIPickerView) -> Int 
    return 1


func pickerView(_ pickerView: UIPickerView, numberOfRowsInComponent component: Int) -> Int 
    return fiatArray.count


func pickerView(_ pickerView: UIPickerView, titleForRow row: Int, forComponent component: Int) -> String? 
    return fiatArray[row]


func pickerView(_ pickerView: UIPickerView, didSelectRow row: Int, inComponent component: Int) 

    displayConvertedValues(forSelected: row)



func displayConvertedValues(forSelected row :Int) 

    let chosenfiat = fiatArray[row]
    getData(fiat: chosenfiat)
    tableView.reloadData()

【问题讨论】:

【参考方案1】:

如果您想提交您的选择,请尝试为此实现一种机制,例如选择器视图顶部的工具栏(如 facebook,请参见下面的屏幕)。使用该机制,您可以保存您的选择并在单击“保存按钮”时实现选择器隐藏方法

希望对你有帮助

【讨论】:

谢谢,我想要的是在选择后隐藏 uipicker。我不想放一个完成按钮。 你将如何触发选择呢?因为每次您传递一个值时,它都会被触发为我认为的选择。你有没有看到你想在另一个应用中实现的东西? 选择后,如果用户再次点击该值,则会关闭uipicker。我在想如何检测到 uipicker 上的水龙头..? 一种方法可以在您的选择器视图的中心添加一个透明视图并将一个手势识别器附加到该视图,但要小心这个视图将位于选择器视图的顶部,并且可能会干扰选择器如果用户开始在此视图上拖动选择器视图,则视图选择。这就是为什么我个人不赞成这种方法 非常感谢,我认为你是对的。也许使用传统方法会更好,因为这是用户习惯的。我会放一个完成按钮。

以上是关于选择后隐藏 UIPicker的主要内容,如果未能解决你的问题,请参考以下文章

使用选择器单击后如何隐藏选择选项?

在 UIWebView 中操作后隐藏文本选择句柄

选择特定选项后显示隐藏字段

isHidden 设置为 false 后无法选择隐藏的 textField

从中选择项目后如何隐藏列表框?

选择行后如何隐藏tableView