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

标签 iphone ios ios5 uibutton uidatepicker

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

是的 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/

相关文章:

iphone - 旋转从视频帧获取的 CGImage

iphone - 无法验证包 : 727047181. itmsp

ios - 如何在按下按钮时播放音频并在手指离开同一按钮时立即停止?

objective-c - 如何绘制 UILabel 边框

iphone - ABAddressBookCreate() , ABAddressBookGetGroupCount , ... 返回 @"0x00000000 <nil>"?

ios - Storyboard无法实例化名为 UIStoryboardUnwindSegueTemplate 的类崩溃

iphone - 如何让 iphone 像桌面浏览器一样浏览网页?

iphone - 使用 drawRect 自定义 UITableViewCell 的编辑模式

iphone - 在非 cocos2d 项目中包含 cocos2d

ios - 使用 AFNetworking 3.0 上传图片