2016-04-07 15 views
-1

UITextFieldでクリックされた機能に問題があります。この例のようにdatepickerを実装しました:http://blog.apoorvmote.com/change-textfield-input-to-datepicker/クリックして編集したアクション

そして、私はクリックした動作に問題があります。私は3フィールドを追加しました。 1つのフィールドだけを押すと、日付ピッカーが表示されます。そして、私はUITextfieldを2回クリックしてdatepickerを表示する必要があります。私は間違っていたし、それをどのように修正したの?私はUITextfeildのワンクリックでdatepickerを表示したい。

コード:

@IBAction func textFieldEditing(sender: UITextField) { 
    let datePickerView:UIDatePicker = UIDatePicker() 
    datePickerView.datePickerMode = UIDatePickerMode.Date 
    sender.inputView = datePickerView 
    datePickerView.addTarget(self, action: #selector(RegisterViewController.datePickerValueChanged), forControlEvents: UIControlEvents.ValueChanged) 
} 

func datePickerValueChanged(sender:UIDatePicker) { 
    let dateFormatter = NSDateFormatter() 
    dateFormatter.dateStyle = NSDateFormatterStyle.MediumStyle 
    dateFormatter.timeStyle = NSDateFormatterStyle.NoStyle 
    txtBirthday.text = dateFormatter.stringFromDate(sender.date) 
} 
+1

いくつかのコードを示してください。問題を指摘してください。 –

+0

私はコードを添えて – Dim

答えて

1

私がアクションを設定しながら手順を逃したと思います。以下のステップイベントが

を開始しました編集として設定されるべきではアクション&また

enter image description here

することができます「の編集作業を開始しました」に「イベント」を設定してくださいとして再度テキストフィールドを追加することができます実装に

dateTextFieldにタグを設定すると、10と表示されます。これはストーリーボード自体で行うことができます。テキストフィールドからアクションイベントを削除します。

func textFieldShouldBeginEditing(textField: UITextField) -> Bool { 
    if(textField.tag == 10) { 
     self.view.endEditing(true) 
     let datePickerView:UIDatePicker = UIDatePicker() 
     datePickerView.datePickerMode = UIDatePickerMode.Date 
     textField.inputView = datePickerView 
     datePickerView.addTarget(self, action: #selector(RegisterViewController.datePickerValueChanged), forControlEvents: UIControlEvents.ValueChanged) 
    }  
    return true; 
} 
+0

ありがとう! – Dim

関連する問題