文本框使用UIDatePicker

乔治·B22

我正在使用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.
}
4oby

尝试这样的事情:

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
    }
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章