2015-10-13 200 views
1

我在UITextField的子類中使用textFieldDidChangetextFieldDidEndEditing方法時出現問題。我在另一個源(對象)中更改UITextFieldtext屬性。可以調用這個方法嗎?iOS 9 Swift 2.0 UITextFieldDidChange

回答

3

您可以使用下面的代碼,你可以按照吹描述

的UITextField並拖動「編輯而改變」發送事件的子單元。

UITextField Change Event

,或者您可以使用委託方法

func textField(textField: UITextField!, shouldChangeCharactersInRange range: NSRange, replacementString string: String!) -> Bool 

或progrmatically

yourtextField.addTarget(self, action: "textFieldDidChange:", forControlEvents: UIControlEvents.EditingChanged) 

func textFieldDidChange(textField: UITextField) 
{ 
    //your code 
} 

或通知,請在Swift 2.0

let notificationCenter = NSNotificationCenter.defaultCenter() 
notificationCenter.addObserver(
self, 
selector: "textFieldTextChanged:", 
name:UITextFieldTextDidChangeNotification, 
object: nil 
) 

func textFieldTextChanged(sender : AnyObject) { 
    // do your stuff here 
} 

通知類型爲

公共讓利UITextFieldTextDidBeginEditingNotification:字符串 公設UITextFieldTextDidEndEditingNotification:字符串 公設UITextFieldTextDidChangeNotification:字符串

更多信息,使用此link

+0

我需要有'textFieldDidChange當我改變另一個對象的UITextField的值時調用'或'textFieldDidEndEditing'。可以這樣做嗎? –

+0

在同一個類中,你可以使用** textFieldDidEndEditing **,如果你是另一個對象發送觀察者,你可以使用** UITextFieldTextDidChangeNotification **作爲 –

+0

@CodyWeaver - 檢查更新的答案 –