无法在 Pickerview 中设置 inputAccessoryView 工具栏

Posted

技术标签:

【中文标题】无法在 Pickerview 中设置 inputAccessoryView 工具栏【英文标题】:Unable set inputAccessoryView toolbar in Pickerview 【发布时间】:2016-09-19 12:37:03 【问题描述】:

在 swift 3 中,我无法像在pickerview 中设置工具栏

pickerFilter?.inputAccessoryView = barAccessory

错误是 inputAccessoryView 是 get-only 属性。

当我在 Pickerview 中添加子视图时。工具栏已显示,但完成按钮不可点击

有什么办法吗?

【问题讨论】:

你有想过这个吗? 你得到解决方案了吗?? @tabassum let flexiblespace = UIBarButtonItem(barButtonSystemItem:.flexibleSpace , target: nil, action: nil) let btnDone = UIBarButtonItem(barButtonSystemItem: .done, target: self, action: #selector(self.donePresed )) 让 barAccessory = UIToolbar(frame: CGRect(x: 0, y: 0, width: viewPicker.frame.size.width, height: 44)) barAccessory.barStyle = .default barAccessory.isTranslucent = true barAccessory.items = [ flexiblespace,btnDone] viewPicker.addSubview(pickerDrpDown!) viewPicker.addSubview(barAccessory) 【参考方案1】:
let flexiblespace = UIBarButtonItem(barButtonSystemItem:.flexibleSpace , target: nil, action: nil)

    let btnDone = UIBarButtonItem(barButtonSystemItem: .done, target: self, action: #selector(self.donePresed))
    let barAccessory = UIToolbar(frame: CGRect(x: 0, y: 0, width: viewPicker.frame.size.width, height: 44))
    barAccessory.barStyle = .default
    barAccessory.isTranslucent = true
    barAccessory.items = [flexiblespace,btnDone]

    viewPicker.addSubview(pickerDrpDown!)
    viewPicker.addSubview(barAccessory)

【讨论】:

pickerDrpDown 是什么?【参考方案2】:

我认为您将inputAccessoryView 分配给您的UIPickerView,实际上您应该将其分配给您的相关textfield 而不是pickerview 它自己!类似的,

   textField.inputAccessoryView = toolBar

【讨论】:

如果我不使用文本字段怎么办。我必须在 IBAction 上打开 PickerView 是什么意思?告诉我你的确切需求!!你不能将inputAccessoryView 设置为你的pickerView 本身!! 我的要求很明确。我无法在 PickerView 上放置带有确定按钮的工具栏 设置yourTextField.inputAccessoryView = yourToolbar,您将获得带有ok按钮的工具栏!并将您的pickerView 设置为inputViewtextField 经过这么多的交流,你无法得到。我使用任何文本字段。

以上是关于无法在 Pickerview 中设置 inputAccessoryView 工具栏的主要内容,如果未能解决你的问题,请参考以下文章

如何在 uitextfield 中隐藏 UIPickerView?

为啥无法在 IdentityServer 中设置选项?

无法在导航栏中设置完整图像

无法在 LiveData 中设置值

无法在 tableView:cellForRowAtIndexPath: 方法中设置标签框

无法在导航栏中设置左栏按钮项?