2

对于我的应用程序,我尝试在单击名为 time 的文本字段时显示 UIDatePicker。

在我的 viewDidLoad 中,我像这样初始化它:

- (void)viewDidLoad {

time.delegate = self;
[time setValue:[UIColor darkGrayColor] forKeyPath:@"_placeholderLabel.textColor"];

datepicker = [[UIDatePicker alloc] init];
datepicker.datePickerMode = UIDatePickerModeCountDownTimer;
dateformatter= [[NSDateFormatter alloc] init];
[dateformatter setDateFormat:@"HH:mm:ss"];

}

然后,在 textFieldShouldBeginEditing 方法中,我有这个:

- (BOOL)textFieldShouldBeginEditing:(UITextField *)textField {

if (textField == time){
    button.hidden = NO;
    datepicker.hidden = NO;

}

    return NO;
}

但是,我的 UIDatePicker 仍然处于隐藏状态,并且我确信插座已连接

4

2 回答 2

3

从您的代码中删除此行并检查您的选择器是否放置在 Xib 中。

datepicker = [[UIDatePicker alloc] init];
于 2013-07-16T06:44:21.440 回答
0

在 textFieldShouldBeginEditing 中,您需要根据需要设置框架,并且必须将日期选择器添加到视图中。例如

- (BOOL)textFieldShouldBeginEditing:(UITextField *)textField {

    if (textField == _time){

        CGRect frame = datepicker.frame;
        frame.origin.x = 100(for eg,set according to you);
        frame.origin.y = 100(for eg,set according to you);
        datepicker.frame = frame;
        [self.view addSubview:datepicker];
        button.hidden = NO;
        datepicker.hidden = NO;

    }

    return NO;
}

完成此操作后删除。

于 2013-07-16T06:44:06.610 回答