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

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

Я пробовал исследовать эту тему, но 99% тем были с datepickers, а не с помощью pickerviews (или очень старого кода). Я новичок в iOS, так что я горел со мной.

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

Ответ 1

UITextField теперь имеет свойство inputView. Здесь вы можете назначить ему дисплей, который вы хотите, включая UIPickerView. Вы должны настроить pickerview, хотя и должны реализовать 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;

Тогда вы должны хорошо идти. Ознакомьтесь с документацией по некоторым другим методам, если вам нужна дополнительная информация.