文本框使用 UIDatePicker

Text boxes uses UIDatePicker

我正在使用 swift 在 Xcode 中创建一个应用程序,我有一个使用 UIDatePicker 的文本框,但现在我的所有其他文本框都在使用这个日期选择器只是一个数字垫。任何帮助深表感谢。我想成为 UIDatePicker 的文本框称为 "StartDate",但我还有其他需要成为数字键盘的文本框。我仍然是 Swift 和 XCode 的初学者,但正如我所说,非常感谢所有帮助。

import UIKit
import EventKit

class ViewController: UIViewController, UITextFieldDelegate {

weak var StartDate: UITextField!

func textFieldDidBeginEditing(textField: UITextField) {
    let datePicker = UIDatePicker()
    textField.inputView = datePicker
    datePicker.datePickerMode = UIDatePickerMode.Date

    datePicker.addTarget(self, action: "datePickerChanged:", forControlEvents: .ValueChanged)
}

func datePickerChanged(sender: UIDatePicker) {
    let formatter = NSDateFormatter()
    formatter.dateStyle = .LongStyle
    StartDate.text = formatter.stringFromDate(sender.date)
}

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

// Code to close keyboard that can be used throughout the app
func closeKeyboard() {
    self.view.endEditing(true)
}

// Close keyboard on touch anywhere else
  override func touchesBegan(touches: NSSet, withEvent event: UIEvent) {
    closeKeyboard()}


 override func viewDidLoad() {
    super.viewDidLoad()
    StartDate.delegate = self
}

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

尝试这样的事情:

func textFieldDidBeginEditing(textField: UITextField) {
    if textField == StartDate {
        let datePicker = UIDatePicker()
        textField.inputView = datePicker
        datePicker.datePickerMode = UIDatePickerMode.Date

        datePicker.addTarget(self, action: "datePickerChanged:", forControlEvents: .ValueChanged)
    }else {
        //do stuff with the rest of the textFields
    }
}