2013-06-27 13 views
6

Używam funkcji alarmu w mojej aplikacji iphone. Gdy włączam stan uiswitcha na "ON" i wybieram konkretny czas z DatePicker, aż użytkownik zmieni stan uiswitcha na off , datepicker powinien pokazywać wybrany czas, a kiedy stan zostanie zmieniony na off, selektor daty powinien pokazywać aktualny czas, nie wcześniej wybrany. Nie mogę znaleźć żadnej opcji do ustawienia wartości czasu dla programistów na czas bieżący. Pomóż mi. .programowo ustawianie czasu DatePicker na bieżący czas

+0

Spójrz na docs na dzień spełnienia wymogu własności ' z 'UIDatePicker'. – rmaddy

Odpowiedz

15

setDate: metoda służy do ustawiania konkretnej daty

[yourDatePicker setDate:[NSDate date]]; 

będzie ustawiony próbnik data i czas do bieżącej daty i godziny.

2

Spróbuj tego,

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

w Swift:

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

Swift 4.0: yourDatePicker.setDate (Date(), animated: true) –

Powiązane problemy