2013-06-27 15 views
6

Ich benutze eine Alarmfunktion in meinem iPhone app.Hier, wenn ich den Status von uiswitch auf "ON" setzen und wählen Sie eine bestimmte Zeit von DatePicker, bis Benutzer den Status von uiswitch zu deaktivieren , datepicker sollte die ausgewählte Zeit anzeigen, und wenn der Status auf aus geändert wird, sollte die Datumsauswahl die aktuelle Zeit anzeigen, nicht zuvor ausgewählt. Ich kann keine Option finden, um den Datumseintrag programmatisch auf die aktuelle Zeit einzustellen. ist.programmatisch DatumPicker Zeit auf die aktuelle Zeit

+0

Schauen Sie sich die Dokumentation für die 'date' Eigenschaft von 'UIDatePicker'. – rmaddy

Antwort

15

setDate: Methode zur Festsetzung bestimmten Datum verwendet

[yourDatePicker setDate:[NSDate date]]; 

Es wird Picker gesetzt Datum und Uhrzeit zum aktuellen Datum und Uhrzeit.

2

Try this,

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(), animiert: true) –

Verwandte Themen