PickerView как ввод с клавиатуры при нажатии на ячейку - PullRequest
0 голосов
/ 12 сентября 2018

Я новичок в программировании для iOS, и я был бы признателен за вашу помощь!

У меня есть ячейка табличного представления, в правой части которой должно отображаться число, выбранное пользователем.Моим текущим решением является представление выбора как правильный элемент, но проблема в том, что он слишком мал для соответствующего пользовательского опыта.

Таким образом, я думаю о метке на правой стороне ячейки.Когда пользователь касается ячейки, окно выбора должно выглядеть аналогично клавиатуре.Строка в представлении выбора, которую выбирает пользователь, должна затем обновить метку.(Я не уверен, что это разумное решение ...) Но я не знаю, как это реализовать.

Извините, если этот вопрос слишком простой, но я был бы очень благодарен запростое объяснение или предложение решения моей проблемы с пользовательским интерфейсом.

[К сожалению, я не могу опубликовать изображение]

Ответы [ 2 ]

0 голосов
/ 12 сентября 2018

Сначала создайте вид выбора и установите его как вид ввода для своего текстового поля li, так что

    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.

0 голосов
/ 12 сентября 2018

Вы можете сделать правильный элемент как UITextFiled.Затем установите для него inputView.https://developer.apple.com/documentation/uikit/uitextfield/1619620-inputview UITEXTFIELD InputView Uipicker не работает в быстром

...