2016-07-05 2 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 
    } 
} 
관련 문제