基本上我想让用户点击文本字段,它会显示一个填充的选择器视图而不是键盘。这也需要一个带有完成按钮的工具栏以及Im假设。我目前将字段设置为输出和操作,而不是更多。我还有一个代码中的动作表,用于当用户提交内容时,如果这对于可能使用动作表也有任何不同。
我尝试过研究这个主题,但99%的主题都是使用datepickers而不是pickerviews(或非常旧的代码)。
这是一张图片,供参考。
答案 0 :(得分:36)
UITextField
现在有一个inputView
属性。在这里,您可以为其指定一个包含UIPickerView的显示。您必须设置选择器视图,并且必须在.h中实现UITextFieldDelegate
和UIPickerViewDataSource
:
@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;
然后你应该好好去。如果您需要更多信息,请查看其他方法的文档。