3

我添加一个UIDatePicker作为输入视图UITextField

UIDatePicker    *oBirth;
NSDateFormatter *dateFormat;

_editingField = [[UITextField alloc] initWithFrame : CGRectMake(80, 12, 215, 25)];    
dateFormat = [[NSDateFormatter alloc] init];
[dateFormat setDateFormat : @"dd/MM/yyyy"];

oBirth = [[UIDatePicker alloc] initWithFrame : CGRectMake(0, 0, 120, 45)];
oBirth.date = [dateFormat dateFromString : sField];
NSLog(@"%@", oBirth.subviews);
[oBirth addTarget : self
           action : @selector(updateDate:)
 forControlEvents : UIControlEventValueChanged];
[oBirth addTarget : self
           action : @selector(dismissDate:)
 forControlEvents : UIControlEventTouchUpOutside];
[oBirth setDatePickerMode : UIDatePickerModeDate];
_editingField.tag = 1;
_editingField.inputView = oBirth;

如何在UIDatePicker不创建不可见视图的情况下解雇?

4

1 回答 1

2

试试这个

[_editingField resignFirstResponder];

编辑

因为dismissDate没有被调用。
删除这段代码

[oBirth addTarget : self
           action : @selector(dismissDate:)
 forControlEvents : UIControlEventTouchUpOutside];

并添加这个

     // single tap gesture recognizer
        UITapGestureRecognizer *tapGestureRecognize = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(dismissDate:)];
        tapGestureRecognize.numberOfTapsRequired = 1;
        [self.view addGestureRecognizer:tapGestureRecognize];


您的回电

- (void)dismissDate:(UIGestureRecognizer *)gestureRecognizer {
    NSLog(@"Resign your responder");
}
于 2012-12-13T09:21:44.113 回答