我写了这段代码。但不工作...
是的 NSLog 是正确的日期。
Datepicker 还查看并选择日期。但是,当我选择日期时,我的按钮标题和日期选择器不会发生任何变化,而日期选择器仍会保留在屏幕上。当用户选择日期时,我也想隐藏...
实际上,当用户按下按钮然后选择日期并将标题设置为按钮并释放选择器 View 时,我会显示日期选择器 View 。
我用的是ios 5...
[datePicker setHidden:NO];
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc]init];
[dateFormatter setDateFormat:@"MM/dd/yyyy"];
NSString *dateString = [dateFormatter stringFromDate:[self.datePicker date]];
NSLog(@"\n"
"theDate: |%@| \n"
, dateString);
[self.DOBbutton setTitle:dateString forState:UIControlStateNormal];
最佳答案
在您的按钮操作中编写此代码
UIActionSheet *dateActionSheet = [[UIActionSheet alloc] initWithTitle:@"" delegate:self cancelButtonTitle:nil destructiveButtonTitle:nil otherButtonTitles:@"Done", nil];
[dateActionSheet setActionSheetStyle:UIActionSheetStyleBlackTranslucent];
[dateActionSheet showInView:self.view];
[dateActionSheet setFrame:CGRectMake(0, 200, 320, 383)];
UIDatePicker *dp = [[UIDatePicker alloc] initWithFrame:CGRectMake(0, 80, 100, 116)];
dp.datePickerMode = UIDatePickerModeTime;
// NSDateFormatter *dateFormat = [[NSDateFormatter alloc] init];
// [dateFormat setDateFormat:@"HH:mm:ss"];
NSDate *eventDate = dp.date;
NSDateFormatter *timeFormat = [[NSDateFormatter alloc] init];
[timeFormat setLocale:[[NSLocale alloc] initWithLocaleIdentifier:@"en_US"]];
[timeFormat setDateFormat:@"HH:mm"];
timeString = [timeFormat stringFromDate:eventDate];
[ dp addTarget: self action:
@selector(dateChanged:)
forControlEvents:UIControlEventValueChanged
];
[ self.view addSubview: dp ];
// txtProposeTime.font = [ UIFont fontWithName: @"Arial" size: 9.0 ];
// txtProposeTime.textColor = [ UIColor blackColor ];
txtProposeTime.text = timeString;
[dp setDatePickerMode:UIDatePickerModeTime];
[dateActionSheet addSubview:dp];
外部按钮编写此代码
-(void) dateChanged: (id)sender
{
UIDatePicker *control = (UIDatePicker *) sender;
control.datePickerMode=UIDatePickerModeDate;
NSDateFormatter *dateFormat = [[NSDateFormatter alloc] init];
// [dateFormat setDateFormat:@"MM/dd/yyyy HH:mm:ss a"];
NSDate *eventDate = control.date;
NSDateFormatter *timeFormat = [[NSDateFormatter alloc] init];
[timeFormat setLocale:[[NSLocale alloc] initWithLocaleIdentifier:@"en_US"]];
[timeFormat setDateFormat:@"dd/MM/yyyy"];
NSString *dateString = [timeFormat stringFromDate:eventDate];
txtMeetingDate.text=dateString;
}
关于iphone - 当用户按下按钮显示日期选择器 View 并选择日期然后显示为按钮标题并进一步关闭日期选择器 View ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16030559/