IOS中的日期选择器问题

时间:2017-08-15 11:37:01

标签: ios objective-c

我有一个文本字段,用户可以在其中单击打开日期选择器,在选择并单击完成按钮后,它会在文本字段中粘贴日期。但是,我正面临一个问题,当我点击文本字段时,我的日期选择器没有显示,我很困惑,为什么它是这样我的代码是我认为好的但我不知道为什么它没有显示日期选择器,我的代码是,

datepicker=[[UIDatePicker alloc]init];
datepicker.datePickerMode=UIDatePickerModeDate;

UIToolbar *toolBar=[[UIToolbar alloc]initWithFrame:CGRectMake(0, 0, 320, 44)];
[toolBar setTintColor:[UIColor blackColor]];
UIBarButtonItem *doneBtn=[[UIBarButtonItem alloc]initWithTitle:@"Done" style:UIBarButtonItemStylePlain target:self action:@selector(ShowSelectedDate)];
UIBarButtonItem *space=[[UIBarButtonItem alloc]initWithBarButtonSystemItem:UIBarButtonSystemItemFlexibleSpace target:self action:nil];
[toolBar setItems:[NSArray arrayWithObjects:doneBtn,space,nil]];

方法就是这个,

-(void)ShowSelectedDate{
    NSDateFormatter *fromatter=[[NSDateFormatter alloc]init];
    [fromatter setDateFormat:@"dd/mm/yyyy"];
    self.DOB.text=[NSString stringWithFormat:@"%@",[fromatter stringFromDate:datepicker.date]];
}

2 个答案:

答案 0 :(得分:2)

您只缺少一条陈述

[myTextField setInputView: datepicker];

您没有添加选择器来查看

[self.view addSubview:datepicker];

要在声明

下面显示您缺少的工具栏
textField.inputAccessoryView = toolbar;

答案 1 :(得分:0)

AS @Fahim说

[myTextField setInputView: datepicker];
[self.view addSubview:datepicker];

但是你的工具栏会在这里遇到问题。因为你已经对它的高度和宽度进行了编码。 据我所知,Picker的默认高度为216。所以,像这样使用收费栏

UIToolbar *toolBar=[[UIToolbar alloc]initWithFrame:CGRectMake(0, self.view.frame.size.height - 216 - 44, self.view.frame.size.width, 44)]; // -44 is for tollbar height
[self.view addSubview:toolbar];

希望它可以帮到你