//.h 文件
@interface YcwViewController : UIViewController<UITextFieldDelegate> //实现UItextField的代理协议
@property (strong, nonatomic) UIDatePicker *myDatePicker;
//.m文件
- (void)viewDidLoad
{
[super viewDidLoad];
self.myTextField.delegate = self;
self.myDatePicker = [[UIDatePicker alloc]init];
self.myDatePicker.datePickerMode = UIDatePickerModeDate;
self.myTextField.inputView = self.myDatePicker;
}
- (void)textFieldDidBeginEditing:(UITextField *)textField{
self.myTextField.inputView = self.myDatePicker; //当点击textField时,UItextField获得diyi响应,出现UIDatePicker
}
- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event
{
NSDate *date1 = self.myDatePicker.date;
NSDateFormatter *formatter1 = [[NSDateFormatter alloc]init];
[formatter1 setDateFormat:@"yyyy年MM月dd日"];
NSString *date_string = [formatter1 stringFromDate:date1];
self.myTextField.text = date_string;
[self.myTextField resignFirstResponder]; //UITextField解除第一响应,UIDatePickerView消失
}
另一种方法 通过隐藏键盘
- (void)viewDidLoad
{
[super viewDidLoad];
self.myTextField.delegate = self;
self.myDatePicker.hidden = YES;
self.myDatePicker.datePickerMode = UIDatePickerModeDate;
}
- (void)didReceiveMemoryWarning
{
[super didReceiveMemoryWarning];
}
- (void)textFieldDidBeginEditing:(UITextField *)textField{
[self.myTextField resignFirstResponder];
self.myDatePicker.hidden = NO;
}
- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event
{
self.myDatePicker.hidden = YES;
NSDateFormatter *myFormatter = [[NSDateFormatter alloc]init];
[myFormatter setDateFormat:@"yyyy-MM-dd"];
NSString *string = [myFormatter stringFromDate:self.myDatePicker.date];
self.myTextField.text = string;
}
- (IBAction)getDate:(id)sender {
NSDateFormatter *myFormatter = [[NSDateFormatter alloc]init];
[myFormatter setDateFormat:@"yyyy-MM-dd"];
NSString *string = [myFormatter stringFromDate:self.myDatePicker.date];
self.myTextField.text = string;
}