popup/模式select器的IOS7中的文本字段

我很难搞清楚如何实现一个标准的popup式选取器。 与用户select生日文本字段ID(如popup式选取器)出现时的许多应用程序注册屏幕一样,用户可以select其生日,单击“完成”,格式化的date将添加到文本字段中。 这似乎不应该是所有的困难,但似乎没有简单,清晰,标准的方式做到这一点在ios7。 我搜查了互联网,看到有人说使用模态,其他人说动作表,其他人说popup窗口,还有人说,一个单独的视图controller.Can任何人都可以告诉我这样做的标准方式和/或提供一个啧啧的链接或如何实施它的一个片段?

我认为“标准”的方式,就是将select器设置为文本字段的input视图。

UIPickerView *picker = [[UIPickerView alloc] init]; self.textField.inputView = picker; 

它会popup底部,就像键盘在文本框中触摸一样。

下面是一个如何使用一个select器作为input视图的简单实现:

 @interface ViewController () @property (weak, nonatomic) IBOutlet UITextField *tf; @property (strong,nonatomic) NSArray *theData; @end @implementation ViewController - (void)viewDidLoad { [super viewDidLoad]; UIPickerView *picker = [[UIPickerView alloc] init]; picker.dataSource = self; picker.delegate = self; self.tf.inputView = picker; self.theData = @[@"one",@"two",@"three",@"four"]; } -(NSInteger)pickerView:(UIPickerView *)pickerView numberOfRowsInComponent:(NSInteger)component { return self.theData.count; } -(NSInteger)numberOfComponentsInPickerView:(UIPickerView *)pickerView { return 1; } -(NSString *)pickerView:(UIPickerView *)pickerView titleForRow:(NSInteger)row forComponent:(NSInteger)component { return self.theData[row]; } -(void)pickerView:(UIPickerView *)pickerView didSelectRow:(NSInteger)row inComponent:(NSInteger)component { self.tf.text = self.theData[row]; [self.tf resignFirstResponder]; } 

ActionSheetPicker-3.0库似乎做得很好。

日期选择器

动画