iOS 9 Swift 2.0 UITextFieldDidChange
问题描述:
我在UITextField
的子类中使用textFieldDidChange
或textFieldDidEndEditing
方法时出现问题。我在另一个源(对象)中更改UITextField
的text
属性。可以调用这个方法吗?iOS 9 Swift 2.0 UITextFieldDidChange
答
您可以使用下面的代码,你可以按照吹描述
的UITextField并拖动“编辑而改变”发送事件的子单元。
,或者您可以使用委托方法
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
我需要有'textFieldDidChange当我改变另一个对象的UITextField的值时调用'或'textFieldDidEndEditing'。可以这样做吗? –
在同一个类中,你可以使用** textFieldDidEndEditing **,如果你是另一个对象发送观察者,你可以使用** UITextFieldTextDidChangeNotification **作为 –
@CodyWeaver - 检查更新的答案 –