iphone之当用户按下按钮显示日期选择器 View 并选择日期然后显示为按钮标题并进一步关闭日期选择器 View

daizhj 阅读:62 2025-06-02 22:19:02 评论:0

我写了这段代码。但不工作...

是的 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; 
} 


标签:日期
声明

1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。

关注我们

一个IT知识分享的公众号