在iOS中的默认的UIDatePicker日期(Default Date for UIDatePic

2019-10-17 02:37发布

我在iOS开发是新。 我有这样的ViewController在我的故事板(包括的UIDatePicker和酒吧按钮):

我跟着数据单元格打电话给我的DatePicker。 当在网页上的按钮用户点击PickerDate与导航栏上完成栏按钮弹出:

问题是它只显示当前日期作为default 。 当我将它从性质没有发生任何变化:

你知不知道我该如何解决? (由setting up the properties或编程)。

Answer 1:

我做到了以编程方式是这样的:

NSCalendar *calendar = [[[NSCalendar alloc] initWithCalendarIdentifier:NSGregorianCalendar] autorelease];
NSDateComponents *components = [[[NSDateComponents alloc] init] autorelease];
[components setYear:1980];
[components setMonth:1];
[components setDay:1];
NSDate *defualtDate = [calendar dateFromComponents:components];
pickerView.date = defualtDate;

但是,仍然不知道为什么它不工作的setting up the properties 。 任何帮助吗?



Answer 2:

斯威夫特

    let calendar: NSCalendar = NSCalendar(calendarIdentifier: NSGregorianCalendar)!
    // let calendar: NSCalendar = NSCalendar.currentCalendar()
    calendar.timeZone = NSTimeZone(name: "UTC")!
    let components: NSDateComponents = NSDateComponents()
    components.year = 1980
    components.month = 1 
    components.day = 1
    let defaultDate: NSDate = calendar.dateFromComponents(components)!
    self.dateOfBirthUIDatePicker.date = defaultDate


Answer 3:

伟大的答案以上-这里的Swift3(02月17日)的版本:

 let calendar: NSCalendar = NSCalendar(calendarIdentifier:  .gregorian)!
        calendar.timeZone = NSTimeZone(name: "UTC")! as TimeZone
        let components: NSDateComponents = NSDateComponents()
        components.year = 1980
        components.month = 1
        components.day = 1
        let defaultDate: NSDate = calendar.date(from: components as DateComponents)! as NSDate
        self.datePicker.date = defaultDate as Date


文章来源: Default Date for UIDatePicker in iOS