sou*_*ser 4 datepicker ios swift
我已经以UIPickerView编程方式创建了一个我目前从a调用的UITextField.相反,我想datePicker在用户按下导航栏上以编程方式创建的按钮时调用.这是我的datePicker代码目前的样子:
func doDatePicker(){
// DatePicker
self.datePicker = UIDatePicker(frame:CGRect(x: 0, y: 0, width: self.view.frame.size.width, height: 216))
self.datePicker?.backgroundColor = UIColor.white
self.datePicker?.datePickerMode = UIDatePickerMode.dateAndTime
HVACText.inputView = self.datePicker
// ToolBar
let toolBar = UIToolbar()
toolBar.barStyle = .default
toolBar.isTranslucent = true
toolBar.tintColor = UIColor(red: 92/255, green: 216/255, blue: 255/255, alpha: 1)
toolBar.sizeToFit()
// Adding Button ToolBar
let doneButton = UIBarButtonItem(title: "Done", style: .plain, target: self, action: #selector(HVACViewController.doneClick))
let spaceButton = UIBarButtonItem(barButtonSystemItem: .flexibleSpace, target: nil, action: nil)
let cancelButton = UIBarButtonItem(title: "Cancel", style: .plain, target: self, action: #selector(HVACViewController.cancelClick))
toolBar.setItems([cancelButton, spaceButton, doneButton], animated: false)
toolBar.isUserInteractionEnabled = true
HVACText.inputAccessoryView = toolBar
}
Run Code Online (Sandbox Code Playgroud)
我可以使用该按钮调用通用的datePicker,但我希望用户可以使用"完成"和"取消"按钮.我还希望datePicker出现在UITableView的底部.我不想偏离视野.
任何帮助,将不胜感激.
这是按要求拍摄的屏幕截图.请注意,界面是正在进行的工作,文本字段将会消失.
我找到了解决方案,并在此处发布代码:
class HVACViewController: UIViewController, UITableViewDelegate, UITableViewDataSource, UITextFieldDelegate, UNUserNotificationCenterDelegate {
@IBOutlet weak var HVACTable: UITableView!
@IBOutlet weak var reminderCell: UITableViewCell!
let dateFormatter = DateFormatter()
let locale = NSLocale.current
var datePicker : UIDatePicker!
let toolBar = UIToolbar()
override func viewDidLoad() {
super.viewDidLoad()
navigationItem.rightBarButtonItem = UIBarButtonItem(title: "Add", style: .plain, target: self, action: #selector(addTapped))
self.HVACTable.reloadData()
//doDatePicker()
}
func addTapped(){
doDatePicker()
}
func doDatePicker(){
// DatePicker
self.datePicker = UIDatePicker(frame:CGRect(x: 0, y: 0, width: self.view.frame.size.width, height: 200))
self.datePicker?.backgroundColor = UIColor.white
self.datePicker?.datePickerMode = UIDatePickerMode.dateAndTime
datePicker.center = view.center
view.addSubview(self.datePicker)
// ToolBar
toolBar.barStyle = .default
toolBar.isTranslucent = true
toolBar.tintColor = UIColor(red: 92/255, green: 216/255, blue: 255/255, alpha: 1)
toolBar.sizeToFit()
// Adding Button ToolBar
let doneButton = UIBarButtonItem(title: "Done", style: .plain, target: self, action: #selector(HVACViewController.doneClick))
let spaceButton = UIBarButtonItem(barButtonSystemItem: .flexibleSpace, target: nil, action: nil)
let cancelButton = UIBarButtonItem(title: "Cancel", style: .plain, target: self, action: #selector(HVACViewController.cancelClick))
toolBar.setItems([cancelButton, spaceButton, doneButton], animated: true)
toolBar.isUserInteractionEnabled = true
self.view.addSubview(toolBar)
self.toolBar.isHidden = false
}
func doneClick() {
let dateFormatter1 = DateFormatter()
dateFormatter1.dateStyle = .medium
dateFormatter1.timeStyle = .none
setNotification()
//self.datePicker.resignFirstResponder()
datePicker.isHidden = true
self.toolBar.isHidden = true
}
func cancelClick() {
datePicker.isHidden = true
self.toolBar.isHidden = true
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
9178 次 |
| 最近记录: |