Воспроизведение UIPickerview, а не ввод с клавиатуры iOS

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

Я пытался исследовать эту тему, но 99% тем были связаны с датами, а не с просмотрами (или очень старым кодом).

Вот изображение того, как оно выглядит для справки.

1 ответ

Решение

UITextField теперь имеет inputView имущество. Здесь вы можете назначить ему отображение, которое вы хотите, включая UIPickerView. Вы должны настроить окно выбора, хотя и должны реализовать UITextFieldDelegate а также UIPickerViewDataSource в вашем.h:

@interface ViewController : UIViewController <UIPickerViewDataSource, UIPickerViewDelegate>

Затем создайте представление выбора и назначьте его текстовому полю.

UIPickerView *pickerView = [[UIPickerView alloc] init];
pickerView.dataSource = self;
pickerView.delegate = self;
// ... ...
self.pickerTextField.inputView = pickerView;

Поскольку вы реализовали интерфейсы UIPickerView, теперь вы должны реализовать следующие методы:

- (NSInteger)pickerView:(UIPickerView *)pickerView numberOfRowsInComponent:(NSInteger)component;
- (NSInteger)numberOfComponentsInPickerView:(UIPickerView *)pickerView;
- (NSString *)pickerView:(UIPickerView *)pickerView titleForRow:(NSInteger)row forComponent:(NSInteger)component;

Тогда тебе следует идти. Проверьте документацию для некоторых других методов, если вам нужна дополнительная информация.

Другие вопросы по тегам