2016-07-05 1 views
1

私はXcodeでswiftを使用してアプリケーションを作成していますが、UIDatePickerを使用するテキストボックスがありますが、他のすべてのテキストボックスは数字パッドにしたいときにこの日付ピッカーを使用します。どんな助けも大歓迎です。 UIDatePickerにしたいテキストボックスは「StartDate」と呼ばれますが、数字パッドにする必要がある他のものがあります。私はまだSwiftとXCodeの初心者ですが、私はすべての助けが大変に感謝しています。テキストボックスでUIDatePickerを使用

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

答えて

0

このような何か試してみてください:

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