启动UIPickerview而不是键盘输入iOS

Joh*_*hnV 15 uipickerview uikeyboard uiactionsheet ios5

基本上我想让用户点击文本字段,它会显示一个填充的选择器视图而不是键盘.这也需要一个带有完成按钮的工具栏以及Im假设.我目前将字段设置为输出和操作,而不是更多.我还有一个代码中的动作表,用于当用户提交内容时,如果这对于可能使用动作表也有任何不同.

我尝试研究这个主题,但99%的主题是使用datepickers而不是pickerviews(或非常旧的代码).

这是一张图片,供参考.

Fir*_*iro 37

UITextField现在有一处inputView房产.在这里,您可以为其指定一个包含UIPickerView的显示.你必须设置的pickerview,但并必须执行UITextFieldDelegate,并UIPickerViewDataSource在您的.h:

@interface ViewController : UIViewController <UIPickerViewDataSource, UIPickerViewDelegate>
Run Code Online (Sandbox Code Playgroud)

然后创建选择器视图并将其分配给文本字段.

UIPickerView *pickerView = [[UIPickerView alloc] init];
pickerView.dataSource = self;
pickerView.delegate = self;
// ... ...
self.pickerTextField.inputView = pickerView;
Run Code Online (Sandbox Code Playgroud)

因为您实现了UIPickerView接口,所以现在必须实现以下方法:

- (NSInteger)pickerView:(UIPickerView *)pickerView numberOfRowsInComponent:(NSInteger)component;
- (NSInteger)numberOfComponentsInPickerView:(UIPickerView *)pickerView;
- (NSString *)pickerView:(UIPickerView *)pickerView titleForRow:(NSInteger)row forComponent:(NSInteger)component;
Run Code Online (Sandbox Code Playgroud)

你应该好好去.如果您需要更多信息,请查看其他一些方法的文档.