Swift3 swift 3日期选择器仅显示日-月-年

Swift3 swift 3日期选择器仅显示日-月-年,swift3,xcode8,Swift3,Xcode8,我在swift 3中使用以下代码来显示日期选择器 import UIKit class ViewController: UIViewController, UITextFieldDelegate { @IBOutlet var eventStartText: UITextField! override func viewDidLoad() { super.viewDidLoad() eventStartText.delegate = self // Do

我在swift 3中使用以下代码来显示日期选择器

import UIKit


class ViewController: UIViewController, UITextFieldDelegate {
    @IBOutlet var eventStartText: UITextField!

override func viewDidLoad() {
    super.viewDidLoad()

    eventStartText.delegate = self

    // Do any additional setup after loading the view.
}

override func didReceiveMemoryWarning() {
    super.didReceiveMemoryWarning()
    // Dispose of any resources that can be recreated.
}

// MARK: TextField Delegate
func datePickerChanged(sender: UIDatePicker) {
    let formatter = DateFormatter()
    //formatter.dateStyle = .full
    formatter.dateStyle = .long
    formatter.timeStyle = .none
    eventStartText.text = formatter.string(from: sender.date)

    print("Try this at home")
}

func textFieldDidBeginEditing(_ textField: UITextField) {
    let datePicker = UIDatePicker()
    textField.inputView = datePicker
    datePicker.addTarget(self, action: #selector(datePickerChanged(sender:)), for: .valueChanged)

    print("This Worked")
}

func textFieldShouldReturn(_ textField: UITextField) -> Bool {
    eventStartText.resignFirstResponder()
    return true
}

// MARK: Helper Methods
func closekeyboard() {
    self.view.endEditing(true)
}

// MARK: Touch Events
override func touchesBegan(_ touches: Set<UITouch>, with event: UIEvent?) {
    closekeyboard()
}

/*
 // MARK: - Navigation

 // In a storyboard-based application, you will often want to do a little preparation before navigation
 override func prepare(for segue: UIStoryboardSegue, sender: Any?) {
 // Get the new view controller using segue.destinationViewController.
 // Pass the selected object to the new view controller.
 }
 */
导入UIKit
类ViewController:UIViewController、UIExtFieldDelegate{
@IBOutlet var eventStartText:UITextField!
重写func viewDidLoad(){
super.viewDidLoad()
eventStartText.delegate=self
//加载视图后执行任何其他设置。
}
重写函数didReceiveMemoryWarning(){
超级。我收到了记忆警告()
//处置所有可以重新创建的资源。
}
//标记:TextField委托
func DatePicker已更改(发件人:UIDatePicker){
let formatter=DateFormatter()
//formatter.dateStyle=.full
formatter.dateStyle=.long
formatter.timeStyle=.none
eventStartText.text=formatter.string(发件人:sender.date)
打印(“在家里试试这个”)
}
func textField didbeginediting(textField:UITextField){
让datePicker=UIDatePicker()
textField.inputView=日期选择器
datePicker.addTarget(self,action:#选择器(datePickerChanged(sender:)),for:.valueChanged)
打印(“这起作用”)
}
func textField应该返回(textField:UITextField)->Bool{
eventStartText.resignFirstResponder()辞职
返回真值
}
//标记:辅助方法
关闭键盘(){
self.view.endEditing(true)
}
//马克:触摸事件
覆盖func TouchesBegind(Touchs:Set,带有事件:UIEvent?){
关闭键盘()
}
/*
//标记:-导航
//在基于故事板的应用程序中,您通常需要在导航之前做一些准备
覆盖功能准备(对于segue:UIStoryboardSegue,发送方:有吗?){
//使用segue.destinationViewController获取新的视图控制器。
//将选定对象传递给新的视图控制器。
}
*/
}

我怎么可能只拥有一天、一个月、一年呢。 由于我被要求提供更多的细节,然后让事情搞清楚,我需要的是swift 3日期选择器只显示日-月-年
谢谢

如果您只想使用选择器显示日期、月份和年份,只需将
UIDatePicker
datePickerMode
属性设置为
。date

let datePicker = UIDatePicker()
//set datePickerMode to date
datePicker.datePickerMode = .date

textField.inputView = datePicker
datePicker.addTarget(self, action: #selector(datePickerChanged(sender:)), for: .valueChanged)

但是如何获得只有月份和年份的日期选择器呢?就像信用卡到期一样