点按单元格时将PickerView作为键盘输入

时间:2018-09-12 08:13:32

标签: ios swift keyboard user-input uipickerview

我是iOS编程的新手,感谢您的帮助!

我有一个表格视图单元格,其右项应显示用户选择的数字。 我当前的解决方案是将选择器视图作为正确的项目,但问题是它太小,无法满足适当的用户体验。

因此,我正在考虑单元格右侧的标签。当用户点击单元格时,选择器视图应看起来类似于键盘。然后,用户在选择器视图中选择的行应更新标签。 (我不确定这是否是一个聪明的解决方案。)但是我不知道如何实现。

很抱歉,这个问题太基本了,但是对于我的用户体验问题的简单解释或解决方案建议,我将非常感谢。

[很遗憾,我无法发布图片]

2 个答案:

答案 0 :(得分:0)

首先创建一个选择视图,并将其设置为文本字段li so的输入视图

    textField.inputView = pickerView

然后设置工具栏

func setupToolbar () {
    let toolBar: UIToolbar = UIToolbar(frame: CGRect(x: 0, y: 0, width: self.view.frame.size.width, height: 44.0))
    toolBar.tintColor = Color.custom(hexString: JIFFYConstants.ApplicationConstants.kAppOrangeColor, alpha: 1.0).value
    let doneBtn: UIButton = UIButton(type: .custom)
    doneBtn.frame = CGRect(x: 10, y: 0, width: 30, height: 30)
    doneBtn.setTitle(JIFFYConstants.JiffyButtonTitles.kDoneActionTitle, for: .normal)
    doneBtn.setTitleColor(Color.custom(hexString: JIFFYConstants.ApplicationConstants.kAppOrangeColor, alpha: 1.0).value, for: .normal)
    doneBtn.addTarget(self, action: #selector(doneButtonAction), for: .touchUpInside)
    let doneBarButton: UIBarButtonItem = UIBarButtonItem(customView: doneBtn)
    let space : UIBarButtonItem = UIBarButtonItem(barButtonSystemItem: .flexibleSpace, target: nil, action: nil)

    var items = [UIBarButtonItem]()
    items.append(space)
    items.append(doneBarButton)
    toolBar.items = items

    textField.inputAccessoryView = toolBar
}

稍后将数据源添加到选择器视图并重新加载它。它将您的pickerView显示为inputView。

答案 1 :(得分:-1)