我的视图控制器包含三个名为“Name”,“Location”和“Birthday”的UITextField。
我这里有这个代码打开一个UIDatePicker:
// Open date picker
- (BOOL)textFieldShouldBeginEditing:(UITextField *)textField {
// Make a new view, or do what you want here
UIDatePicker *pv = [[UIDatePicker alloc] initWithFrame:CGRectMake(0,245,0,0)];
[self.view addSubview:pv];
return NO;
}
我有两个问题。
问题1
当我点击任何字段时,会打开日期选择器。我只想在点击“生日”时打开日期选择器。
问题2
当我点击某个字段,然后再次点击时,它会打开另一个日期选择器。
如何阻止这种情况发生?
彼得
答案 0 :(得分:4)
而是在viewDidLoad上尝试:
UIDatePicker *datePicker = [[UIDatePicker alloc] init];
birtdayTextField.inputView = datePicker; //birtdayTextField is your "birthday text field"
答案 1 :(得分:1)
要仅为特定的textField打开日期选择器,请在打开datePicker之前检查(UITextField *)textField
。您可以为每个textField设置标记,然后使用该标记进行区分。
对于第二个问题,您需要使用resignFirstResponder