打开UIPickerview而不是键盘输入iOS

打开UIPickerview而不是键盘输入iOS,ios,ios5,uipickerview,uikeyboard,uiactionsheet,Ios,Ios5,Uipickerview,Uikeyboard,Uiactionsheet,基本上,我希望用户在文本字段中单击,它会显示填充的pickerview,而不是键盘。我想这也需要一个带有“完成”按钮的工具栏。我目前将字段设置为输出和操作,仅此而已。我在代码中也有一个操作表,当用户提交一些东西时也可以使用它,如果这与可能使用操作表进行提交有任何区别的话 我试着研究这个主题,但99%的主题都是关于日期选择器的,而不是pickerviews(或非常旧的代码) 这是一张它看起来像什么的图片,以供参考。 UITextField现在有一个inputView属性。在这里,您可以为其指定一个

基本上,我希望用户在文本字段中单击,它会显示填充的pickerview,而不是键盘。我想这也需要一个带有“完成”按钮的工具栏。我目前将字段设置为输出和操作,仅此而已。我在代码中也有一个操作表,当用户提交一些东西时也可以使用它,如果这与可能使用操作表进行提交有任何区别的话

我试着研究这个主题,但99%的主题都是关于日期选择器的,而不是pickerviews(或非常旧的代码)

这是一张它看起来像什么的图片,以供参考。
UITextField
现在有一个
inputView
属性。在这里,您可以为其指定一个要包含UIPickerView的显示。但是,您必须设置pickerview,并且必须在.h中实现
UIExtFieldDelegate
UIPickerViewDataSource

@interface ViewController : UIViewController <UIPickerViewDataSource, UIPickerViewDelegate>
由于实现了UIPickerView接口,现在必须实现以下方法:

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

那你就可以走了。如果需要更多信息,请查看文档中的其他方法。

我是否可以在textfield pressed action方法中编辑此属性?我可能会在ViewController的viewDidLoad中进行编辑。除非你要在UIPicker和普通键盘之间切换,否则每次按下按钮都设置它是没有意义的。它似乎可以工作。它会显示一个黑匣子,而不是键盘。我不知道我将如何填充这个或添加一个工具栏来检查是否完成。有什么想法吗?我制作了NSArray,但我不知道如何将它链接到它,因为它不是真正制作的东西。我编辑了我的答案以帮助您。如果你需要进一步的指导,请让我知道。啊!我忘记了pickerView.delegate=self;现在我的问题是添加工具栏和按钮。这就是我刚开始添加的条。1.UIToolbar*doneBar=[[UIToolbar alloc]init];2.doneBar.barStyle=uibarstyleblack半透明;3.[pickerView addSubview:doneBar];有什么原因它不会出现吗?
- (NSInteger)pickerView:(UIPickerView *)pickerView numberOfRowsInComponent:(NSInteger)component;
- (NSInteger)numberOfComponentsInPickerView:(UIPickerView *)pickerView;
- (NSString *)pickerView:(UIPickerView *)pickerView titleForRow:(NSInteger)row forComponent:(NSInteger)component;