ios - 日期选择器不隐藏

标签 ios datepicker

我有一个文本字段,并且我已经设置了当用户单击该文本字段时日期选择器将显示的日期。但问题是日期选择器并没有隐藏。下面是我的代码。

- (IBAction) ac{
    NSDateFormatter *df = [[NSDateFormatter alloc] init];
    df.dateStyle = NSDateFormatterMediumStyle;
    date.text = [NSString stringWithFormat:@"%@",
                      [df stringFromDate:[NSDate date]]];


    datePicker = [[UIDatePicker alloc] initWithFrame:CGRectMake(0, 250, 0, 0)];
    datePicker.datePickerMode = UIDatePickerModeDate;
    //datePicker.hidden = NO;
    datePicker.date = [NSDate date];
    date.inputView = datePicker;

    [datePicker addTarget:self
                   action:@selector(LabelChange:)
         forControlEvents:UIControlEventValueChanged];
    [self.view addSubview:datePicker];


}
- (void)LabelChange:(id)sender{
    NSDateFormatter *df = [[NSDateFormatter alloc] init];
    df.dateStyle = NSDateFormatterMediumStyle;
    date.text = [NSString stringWithFormat:@"%@",
                      [df stringFromDate:datePicker.date]];

}

-(IBAction)hidekey{

    [title resignFirstResponder];
    [date resignFirstResponder];
    [disc resignFirstResponder];
    [place resignFirstResponder];
    //datePicker.hidden = YES;
    [datePicker setHidden:YES];
}

最佳答案

不要隐藏它,而是将其删除。

[datePicker removeFromSuperview];

另一种选择

更改您的方法,例如:

- (IBAction) ac
{
    NSDateFormatter *df = [[NSDateFormatter alloc] init];
    df.dateStyle = NSDateFormatterMediumStyle;
    date.text = [NSString stringWithFormat:@"%@",
                      [df stringFromDate:[NSDate date]]];

    datePicker = nil;
    datePicker = [[UIDatePicker alloc] initWithFrame:CGRectMake(0, 250, 0, 0)];
    datePicker.datePickerMode = UIDatePickerModeDate;
    //datePicker.hidden = NO;
    datePicker.date = [NSDate date];
    date.inputView = datePicker;

    [datePicker addTarget:self
                   action:@selector(LabelChange:)
         forControlEvents:UIControlEventValueChanged];
     [date setInputView:datePicker];

}

-(IBAction)hidekey
{

    [title resignFirstResponder];
    [date resignFirstResponder];
    [disc resignFirstResponder];
    [place resignFirstResponder];
    datePicker = nil;
}

关于ios - 日期选择器不隐藏,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17956214/

相关文章:

javascript - 如何将 yy-mm-dd 日期选择器帖子格式化为 php?

jquery datepicker 输入值格式被忽略

jquery - 如何使用 jquery datepicker 更改日期背景?

iphone - UITableViewCells 使用 textViewDidEndEditing 将数据写入 plist

ios - 无法将类型 'Int' 的值转换为预期的参数类型 '(inout UnsafeMutableBufferPointer<_>, inout Int) throws -> Void'

ios - 无法完全关闭我以前的 alertcontroller

ios - 仅以英文获取用户的城市

javascript - 抛出错误 RangeError : Invalid time value while setting custom date to DatePicker of react-datepicker

css - 标准 salesforce css 直到 Action 函数才加载

ios - 如何确定某个位置是否在 UIbezierPath 内?