【发布时间】:2021-08-31 03:08:55
【问题描述】:
您好,我有一个要求,我需要在 uiactionsheet 中显示日期
我的 IBOutlet
@IBOutlet weak var dobTextField: UITextField!
点击日期字段时我在这里调用函数
if textField == dobTextField {
self.view.endEditing(true)
super.datePickerTapped { (dateString) in
self.dobTextField.text = dateString
}
return false
}
这是我在点击日期字段后调用的函数
func datePickerTapped(completionHandler: @escaping ((String)->Void)) {
let cancelButton:UIButton = UIButton(type: .custom)
cancelButton.setTitle("Cancel", for: .normal)
cancelButton.titleLabel?.font = crudFonts.appRegularFont
cancelButton.setTitleColor(UIColor.black, for: .normal)
cancelButton.frame = CGRect(x: 0, y: 0, width: 55, height: 25)
let doneButton:UIButton = UIButton(type: .custom)
doneButton.setTitle("Done", for: .normal)
doneButton.titleLabel?.font = crudFonts.appRegularFont
doneButton.setTitleColor(UIColor.black, for: .normal)
doneButton.frame = CGRect(x: 0, y: 0, width: 55, height: 25)
let maxiumDate = Calendar.init(identifier: Calendar.Identifier.gregorian).date(byAdding: .year, value: -18, to: Date())
let picker = ActionSheetDatePicker.init(title: "Date of Birth", datePickerMode: .date, selectedDate: maxiumDate, doneBlock: { (picker, selectedIndex, selectedValue) in
if let date = selectedIndex as? Date {
let formatter = DateFormatter()
formatter.dateFormat = "dd/MM/YYYY"
completionHandler(formatter.string(from: date))
}
}, cancel: { (picker) in
}, origin: Global.getTopMostViewController()?.view)
picker?.minimumDate = Calendar.init(identifier: Calendar.Identifier.gregorian).date(byAdding: .year, value: -100, to: Date())
picker?.maximumDate = maxiumDate
picker?.toolbarButtonsColor = .black
picker?.toolbarBackgroundColor = UIColor.white
picker?.setCancelButton(UIBarButtonItem(customView: cancelButton))
picker?.setDoneButton(UIBarButtonItem(customView: doneButton))
picker?.show()
if let datePicker = picker?.pickerView as? UIDatePicker {
if #available(iOS 13.4, *) {
datePicker.preferredDatePickerStyle = UIDatePickerStyle.wheels
}
}
}
错误:- 表达式类型不明确,没有更多上下文
在这一行:- let picker = ActionSheetDatePicker.init(title: "Date of Birth", datePickerMode: .date, selectedDate: maxiumDate, doneBlock: { (picker, selectedIndex, selectedValue) in
【问题讨论】:
标签: ios swift datepicker