2016-08-16 70 views
1

我在使用EditingDidBegin事件觸發器時遇到問題。我有UITextFiled我已經觸發了編輯,所以我必須嘗試顯示datePicker。它第一次能夠觸發事件它已經顯示datePicker。選擇datePicker後,我又試了一次,試着編輯textField。它引發了這個事件。所以它顯示的是鍵盤而不是datePickerEditingDidBegin事件不是第二次在swift中觸發

+3

請顯示您嘗試的代碼,以便更好地瞭解您嘗試的內容。 –

+0

@IBAction func SelectExpireDate(sender:UITextField){ textFieldShouldReturn(self.ExpireDate); calling_date_picker; } – vara

回答

1

如何:

實現您的視圖控制器上的UITextFieldDelegate協議:

class ViewController: UIViewController, UITextFieldDelegate { ... 

確保視圖控制器是掛接作爲的UITextField的故事板的委託。

然後,實現textFieldShouldBeginEditing功能:

func textFieldShouldBeginEditing(_ textField: UITextField) -> Bool { 
    print("show date picker") 
    return false 
} 

返回false意味着該文本字段將永遠不會開始編輯,這樣你就可以在日期選擇器來代替。

上面的代碼將顯示每個UITextField中委託給該視圖控制器的每個抽頭的日期選擇器。如果你想要比那更好的控制,那麼你需要連接一個引用插座並檢查textFieldShouldBeginEditing以查看它是否是正確的文本字段。或者你可以使用標籤(唉)。

相關問題