use*_*171 15 uidatepicker swift
有没有办法设置日期选择器来显示加载时的特定时间?我从开始时间,结束时间,四个文本区发起了四个日期选择器的情况下,开始日期和使用从GitHub上的squimer/datePickerDialog子类,在一个UIAlertView中弹出的完成日期.
在我的应用程序中,默认开始时间是早上7:00,默认结束时间是下午5:00,让用户调整这些时间.
我只能看到你可以将datePicker.defaultDate设置为currentDate,minimumDate或maximumDate并且只能设置一次.是否可以在我的来自ViewController的调用中将defaultDate设置为sTime ="07:00"和fTime ="17:00"的硬编码字符串?
任何帮助,将不胜感激.
编辑:这是我从viewController调用子类的方式
@IBAction func setFT(sender: UITextField) {
resignKeyboardCompletely(sender)
DatePickerDialog().show("Pick a Finish Time", doneButtonTitle: "Done", cancelButtonTitle: "Cancel", datePickerMode: .Time) {
(timeFinish) -> Void in
self.dateFormatter.dateFormat = "HH:mm"
let finTime = self.dateFormatter.stringFromDate(timeFinish)
self.finishTime.text = finTime
}
defaults.setObject(finishTime.text, forKey: "finishTime")
print(finishTime.text)
}
Run Code Online (Sandbox Code Playgroud)
请注意,在此期间,我还尝试通过NSUser Defaults维护持久性.
Mor*_*iya 33
您是否正在寻找通过字符串设置时间.如果是这种情况,您可以使用这样的日期格式化程序.
let dateFormatter = NSDateFormatter()
dateFormatter.dateFormat = "HH:mm"
let date = dateFormatter.dateFromString("17:00")
datePicker.date = date
Run Code Online (Sandbox Code Playgroud)
将init添加到Picker类
init(time:String) {
super.init(frame: CGRectMake(0, 0, UIScreen.mainScreen().bounds.size.width, UIScreen.mainScreen().bounds.size.height))
setupView()
let dateFormatter = NSDateFormatter()
dateFormatter.dateFormat = "HH:mm"
if let date = dateFormatter.dateFromString("17:00") {
datePicker.date = date
}
}
Run Code Online (Sandbox Code Playgroud)