2013-06-27 3 views
6

Я использую функцию тревоги в своем приложении iphone. Вот когда я ставлю состояние uiswitch на «ВКЛ» и выберите конкретное время из DatePicker, пока пользователь не изменит состояние uiswitch на off , datepicker должен показывать выбранное время, а когда состояние изменено на off, сборщик дат должен показывать текущее время, а не ранее выбранное. Я не могу найти какой-либо вариант, чтобы установить значение времени datepickers в текущее время программно. Пожалуйста, помогите мне. .programatically установка DatePicker время до текущего времени

+0

Посмотрите на документы для 'date' собственности 'UIDatePicker'. – rmaddy

ответ

15

setDate: метод используется для установления конкретной даты

[yourDatePicker setDate:[NSDate date]]; 

Он установит сборщика дату и время до текущей даты и времени.

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]]; 
    } 
} 
1

В Swift:

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

Swift 4.0: yourDatePicker.setDate (Дата(), анимированная: true) –