UITextField本身自带三个消息类型:
UITextFieldTextDidBeginEditingNotification
UITextFieldTextDidChangeNotification
UITextFieldTextDidEndEditingNotification
至于作用嘛,看名字就知道了啦~~
因为登录界面需要,所以今天就稍微的了解了一下= =,然后怕又会忘记了,所以就记录下来了。
接下来讲讲怎么使用这三个东西。
首先,我想实现一个这样的功能,就是以下(还在很后面呢)的登录界面,登录按钮在用户名或者密码为空的时候是无法点击的,当用户名和密码都不是空的时候,登录按钮才可以点击。而且最重要的是这个过程是动态的,不能等用户名或密码输完了后在判断,于是代理方法里的textFieldDidEndEditing就帕斯掉了,那么不还有一个shouldChangeCharactersInRange方法吗?这家伙不也是可以实时监控输入内容的吗?非得用nsnotification?嗯,你可以自己尝试下。。。。。
于是我就用UITextFieldTextDidChangeNotification来实现我的功能啦,如名所说,只要文本发生变化就会触发消息。
首先添加观察者, 记得不用的时候要解除掉通知哦。:
//ViewContrller.swift
override func viewDidLoad() {
super.viewDidLoad()
......
NSNotificationCenter.defaultCenter().addObserver(self, selector: #selector(self.loginStatus(_:)), name: UITextFieldTextDidChangeNotification, object: nil)
// Do any additional setup after loading the view.
}
override func viewDidDisappear(animated: Bool) {
NSNotificationCenter.defaultCenter().removeObserver(