如何在iOS swift中实现带有月份、日期和时间的自定义选择器?

Posted

技术标签:

【中文标题】如何在iOS swift中实现带有月份、日期和时间的自定义选择器?【英文标题】:How to achieve the custom picker with Month, Date and time in iOS swift? 【发布时间】:2020-06-22 06:20:49 【问题描述】:

我正在开发一个需要从选择器视图中选择日期的应用程序。但是选择器视图需要选择器视图行中的月份、日期和时间,如附图所示:

目前我有以下代码:

class ViewController: UIViewController 

   @IBOutlet weak var txtDatePicker: UITextField!
  let datePicker = UIDatePicker()

  override func viewDidLoad() 
    super.viewDidLoad()
     showDatePicker()
  


  func showDatePicker()
    //Formate Date
    datePicker.datePickerMode = .date

   //ToolBar
   let toolbar = UIToolbar();
   toolbar.sizeToFit()
   let doneButton = UIBarButtonItem(title: "Done", style: .plain, target: self, action: #selector(donedatePicker));
   let spaceButton = UIBarButtonItem(barButtonSystemItem: UIBarButtonSystemItem.flexibleSpace, target: nil, action: nil)
  let cancelButton = UIBarButtonItem(title: "Cancel", style: .plain, target: self, action: #selector(cancelDatePicker));

 toolbar.setItems([doneButton,spaceButton,cancelButton], animated: false)

  txtDatePicker.inputAccessoryView = toolbar
  txtDatePicker.inputView = datePicker

 

  @objc func donedatePicker()

   let formatter = DateFormatter()
   formatter.dateFormat = "dd/MM/yyyy"
   txtDatePicker.text = formatter.string(from: datePicker.date)
   self.view.endEditing(true)
 

 @objc func cancelDatePicker()
    self.view.endEditing(true)
  

但是有了这个,我得到的输出是:

如何给 UIPickerView 添加时间?请建议和帮助

【问题讨论】:

请检查这个网址,也许有帮助 - hackingwithswift.com/books/ios-swiftui/… 你为什么使用UIDatePicker?为什么不直接使用 UIPicker? @ElTomato 你能帮我吗? 创建三个数组并使用pickerView(_ pickerView: UIPickerView, titleForRow row: Int, forComponent component: Int)方法加载它们。 设置日期选择器显示日期和时间可以设置 datePicker.datePickerMode = .dateAndTime 【参考方案1】:

转到情节提要选择您的日期选择器视图并在属性检查器中选择日期和时间而不是日期。

然后您可以为日期选择器选择日期和时间。

【讨论】:

以上是关于如何在iOS swift中实现带有月份、日期和时间的自定义选择器?的主要内容,如果未能解决你的问题,请参考以下文章

iOS Swift:如何从我的应用程序中实现“兑现”方法?

如何使用swift 3在iOS中隐藏上一个日期和月份?

如何使用 Swift 3 for iOS 在 ViewController.swift 中实现 UICollectionView

如何在 Swift iOS 中实现 iMessage 渐变?

如何在 iOS(Swift 或 Objective C)中实现这样的套接字调用?

Swift3 如何像在 android 中一样在 iOS 中实现底部工作表