无法在 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
设置为inputView
的textField
经过这么多的交流,你无法得到。我使用任何文本字段。以上是关于无法在 Pickerview 中设置 inputAccessoryView 工具栏的主要内容,如果未能解决你的问题,请参考以下文章
如何在 uitextfield 中隐藏 UIPickerView?