swift 3日期选择器仅显示日月

问题描述 投票:1回答:1

我在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.
 }
 */

}

我怎么会只有一个月和一年。因为我被要求提供更多的细节,然后把事情弄清楚,我需要的是快速3日期选择器显示日月份谢谢

swift3 xcode8
1个回答
7
投票

如果你想用选择器只显示日,月和年,那么只需将datePickerModeUIDatePicker属性设置为.date

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

textField.inputView = datePicker
datePicker.addTarget(self, action: #selector(datePickerChanged(sender:)), for: .valueChanged)
© www.soinside.com 2019 - 2024. All rights reserved.