gpt4 book ai didi

ios - Swift 3 使用 UINavBar 按钮显示以编程方式创建的 datePicker

转载 作者:搜寻专家 更新时间:2023-10-31 08:24:54 26 4
gpt4 key购买 nike

我以编程方式创建了一个 UIPickerView,我目前从 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

}

我可以使用该按钮调用通用日期选择器,但我希望用户可以使用完成和取消按钮。我还希望 datePicker 出现在 UITableView 的底部。我不想离开 View 。

如有任何帮助,我们将不胜感激。

这是按要求截取的屏幕截图。请注意,该界面正在开发中,文本字段将消失。

Screen Shot

最佳答案

我找到了解决方案并在此处发布代码:

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

}

关于ios - Swift 3 使用 UINavBar 按钮显示以编程方式创建的 datePicker,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44508273/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com