【问题标题】:Default Date for UIDatePicker in iOSiOS 中 UIDatePicker 的默认日期
【发布时间】:2012-08-04 07:17:31
【问题描述】:

我是 iOS 开发的新手。我的 Storyboard 中有这个 ViewController(包括一个 UIDatePicker 和一个条形按钮):

我跟着Data Cell 打电话给我的DatePicker。当用户单击页面中的按钮时,PickerDate 会在导航栏上弹出一个完成栏按钮:

问题是它只将当前日期显示为default。当我从属性设置它时没有任何变化:

你知道我该如何解决吗? (通过setting up the properties 或以编程方式)。

【问题讨论】:

  • 以编程方式添加它,您可以在那里进行相应设置....

标签: ios objective-c iphone xcode uidatepicker


【解决方案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 不起作用。有什么帮助吗?

【讨论】:

  • 您是否已将 IBOutlate 设置为 pickerView ? :)
  • 是的,我完全按照您的编码完成了。我的问题是我们是否必须始终以编程方式设置它?在属性页面上查看我的图像。我们可以从那里修复它吗?
  • 实际上它也应该从那里工作,但没有像我们期望的那样发生:(。所以必须始终以编程方式进行:)。
  • 你认为这是 iOS 的 bug?你有同样的问题吗?
  • 可能但不确定:)
【解决方案2】:

Swift 中:

let calendar: NSCalendar = NSCalendar(calendarIdentifier: NSGregorianCalendar)!
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

【讨论】:

    【解决方案3】:

    上面的答案很好 - 这是 Swift3(2 月 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
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-11-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多