有没有一种方法可以快速显示旧的日期和时间选择器

发布于 2025-01-16 13:28:49 字数 1611 浏览 2 评论 0原文

我是 Swift 新手,我面临新日期选择器的问题 我需要显示旧日期 piker

在此处输入图像描述

但当前日期 piker 是这样的

在此处输入图像描述

有没有办法显示旧的选择器

我的代码是这样的

func showDatePickerFrom(){
        //Formate Date
        let date = Date()
        let formatter = DateFormatter()
        formatter.dateFormat = "yyyy-MM-dd"
        let result = formatter.string(from: date)
        let dateToday = formatter.date(from: result)
        
        FromdatePicker.datePickerMode = .date
        FromdatePicker.maximumDate = dateToday
        //ToolBar
        let toolbar = UIToolbar();
        toolbar.sizeToFit()
        let doneButton = UIBarButtonItem(title: "Done", style: .plain, target: self, action: #selector(donedatePicker))
        let spaceButton = UIBarButtonItem(barButtonSystemItem: UIBarButtonItem.SystemItem.flexibleSpace, target: nil, action: nil)
        let cancelButton = UIBarButtonItem(title: "Cancel", style: .plain, target: self, action: #selector(cancelDatePicker))
        toolbar.setItems([cancelButton,spaceButton,doneButton], animated: false)
        txtdateselect.inputAccessoryView = toolbar
        txtdateselect.inputView = FromdatePicker
        
    }
    
    @objc func donedatePicker(){
        let formatter = DateFormatter()
        formatter.dateFormat = "dd-MM-yyyy"
        txtdateselect.text = formatter.string(from: FromdatePicker.date)
        self.view.endEditing(true)   
    }
    
    @objc func cancelDatePicker(){
        self.view.endEditing(true)
    }
    

I am new in swift and I am facing problem with new date picker
I need to show old date piker

enter image description here

But the current date piker is like this

enter image description here

Is there is any way to show old picker

My code is like this

func showDatePickerFrom(){
        //Formate Date
        let date = Date()
        let formatter = DateFormatter()
        formatter.dateFormat = "yyyy-MM-dd"
        let result = formatter.string(from: date)
        let dateToday = formatter.date(from: result)
        
        FromdatePicker.datePickerMode = .date
        FromdatePicker.maximumDate = dateToday
        //ToolBar
        let toolbar = UIToolbar();
        toolbar.sizeToFit()
        let doneButton = UIBarButtonItem(title: "Done", style: .plain, target: self, action: #selector(donedatePicker))
        let spaceButton = UIBarButtonItem(barButtonSystemItem: UIBarButtonItem.SystemItem.flexibleSpace, target: nil, action: nil)
        let cancelButton = UIBarButtonItem(title: "Cancel", style: .plain, target: self, action: #selector(cancelDatePicker))
        toolbar.setItems([cancelButton,spaceButton,doneButton], animated: false)
        txtdateselect.inputAccessoryView = toolbar
        txtdateselect.inputView = FromdatePicker
        
    }
    
    @objc func donedatePicker(){
        let formatter = DateFormatter()
        formatter.dateFormat = "dd-MM-yyyy"
        txtdateselect.text = formatter.string(from: FromdatePicker.date)
        self.view.endEditing(true)   
    }
    
    @objc func cancelDatePicker(){
        self.view.endEditing(true)
    }
    

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

握住我的手 2025-01-23 13:28:49

从 iOS 13.4 开始,Apple 改变了选择器的显示方式。

要以旧方式显示日期选择器,只需在代码中添加以下行即可。

if #available(iOS 13.4, *) {
    self.preferredDatePickerStyle = .wheels
}

注意您必须在初始化日期选择器后立即写入此行。

例如,如果您在设置最大或最小日期后写入此行,则不会像下面那样工作。

if #available(iOS 13.4, *) {
    self.preferredDatePickerStyle = .wheels
}

self.minimumDate = Date()

From iOS 13.4, Apple change the way it show picker.

To show date picker in old way, just add below lines in the code.

if #available(iOS 13.4, *) {
    self.preferredDatePickerStyle = .wheels
}

Note : You have to write this line right after you initialize date picker.

E.x. If you write this line after setting maximum or minimum date, it won't work like below.

if #available(iOS 13.4, *) {
    self.preferredDatePickerStyle = .wheels
}

self.minimumDate = Date()
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文