2013-06-27 14 views
6

Sto utilizzando una funzionalità di allarme nella mia app per iPhone.Quando quando metto lo stato di uiswitch su "ON" e seleziono un particolare orario da DatePicker, fino a quando l'utente non cambia lo stato di uiswitch su off , datepicker dovrebbe mostrare l'ora selezionata, e quando lo stato è disattivato, il selettore di date dovrebbe mostrare l'ora corrente, non selezionata in precedenza. Non riesco a trovare alcuna opzione per impostare il valore temporale di datepickers sull'ora corrente in modo programmatico ... Per favore aiutatemi. .impostazione programmatica dell'ora DatePicker sull'ora corrente

+0

Guardate la documentazione per il 'date' immobile di 'UIDatePicker'. – rmaddy

risposta

15

setDate: metodo viene utilizzato per impostare data e

[yourDatePicker setDate:[NSDate date]]; 

sarà impostato picker data e ora alla data e ora correnti.

2

Prova questo,

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

In Swift:

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

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

Problemi correlati