场景:当你封装了一个控件类,这个类中封装进去了UITextField,这时获取不到textField属性,怎么办。
我以前都是这么写:
[objc] view plain copy
- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event {
[self.textField resignFirstResponder];
}
当把UITextField封装进去时,如果把属性声明到.m文件中,你从外边拿不到属性,这个办法就不好使了。。。
其实有一个更好的实现方法,可以说是简单粗暴:
[objc] view plain copy
- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event {
[self.view endEditing:YES];
}
这个方法不仅可以解决在封装时拿不到textField属性的问题,还能简化代码,如果有多个textField,上面的方法就要添加多个resignFirstResponder方法,下面的方法,永远只要一行代码就能搞定。