我是 iOS 开发的新手。我的 Storyboard 中有这个 ViewController(包括一个 UIDatePicker 和一个条形按钮):
我跟着数据单元调用我的 DatePicker。当用户单击页面中的按钮时,PickerDate 会在导航栏上弹出一个完成栏按钮:
问题是它仅将当前日期显示为default
. 当我从属性设置它时没有任何变化:
你知道我该如何解决吗?(通过setting up the properties
或以编程方式)。
我是 iOS 开发的新手。我的 Storyboard 中有这个 ViewController(包括一个 UIDatePicker 和一个条形按钮):
我跟着数据单元调用我的 DatePicker。当用户单击页面中的按钮时,PickerDate 会在导航栏上弹出一个完成栏按钮:
问题是它仅将当前日期显示为default
. 当我从属性设置它时没有任何变化:
你知道我该如何解决吗?(通过setting up the properties
或以编程方式)。
我以这种方式以编程方式完成了它:
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
。有什么帮助吗?
在斯威夫特:
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
上面的好答案 - 这是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