以编程方式将DatePicker时间设置为当前时间

时间:2013-06-27 04:05:51

标签: ios uidatepicker

我在iphone应用程序中使用闹钟功能。这里当我将uiswitch的状态设置为“ON”并从DatePicker中选择一个特定的时间,直到用户将uiswitch的状态更改为off,datepicker应该显示所选的时间,当状态更改为off时,日期选择器应该显示当前时间,以前没有选过一个。我找不到任何以编程方式将datepickers时间值设置为当前时间的选项。

3 个答案:

答案 0 :(得分:16)

setDate:方法用于设置特定日期

[yourDatePicker setDate:[NSDate date]];

它会将选择日期和时间设置为当前日期和时间。

答案 1 :(得分:2)

试试这个,

ViewController.h

@interface ViewController : UIViewController
{
  IBOutlet UISwitch *onOffSwitch;
  UIDatePicker *myPicker;
}
-(IBAction)onOffSwitch:(id)sender;

@end

ViewController.m

  - (void)viewDidLoad
    {
    [super viewDidLoad];
    CGRect pickerFrame = CGRectMake(0,250,0,0);
    myPicker = [[UIDatePicker alloc] initWithFrame:pickerFrame];
    [self.view addSubview:myPicker];
    [myPicker release];
    }

    -(IBAction)onOffSwitch:(id)sender{

    if(onOffSwitch.on) {

        NSString *dateStr = @"Tue, 25 May 2010 12:53:58 +0000";
        // Convert string to date object
        NSDateFormatter *dateFormat = [[NSDateFormatter alloc] init];
        [dateFormat setDateFormat:@"EE, d LLLL yyyy HH:mm:ss Z"];
        NSDate *date = [dateFormat dateFromString:dateStr];
        [myPicker setDate:date];
    }
    else 
    {
        [myPicker setDate:[NSDate date]];
    }
}

答案 2 :(得分:1)

在斯威夫特:

yourDatePicker.setDate(date: NSDate, animated: Bool)