标签:
声明属性
@interface LoginControler() <UITextFieldDelegate> @property (weak, nonatomic) IBOutlet UITextField *userName; @end
1,代理方式
-(void) viewDidLoad { _userName.delegate = self; //添加代理 } -(BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string { NSLog(@"%@", textField.text); return true; //如果NO就不会显示 }
2,通知
这种方式在通知完后还需要释放,麻烦,用的少
-(void) viewDidLoad { [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(textChange) name:UITextFieldTextDidChangeNotification object:nil]; //addObserver:self 监听者对象 //name 监听的改变对象的方法 //object 监听的对象 nil 全部监听 } -(void)textChange { NSLog(@"%@", _userName.text); } -(void)dealloc { [[NSNotificationCenter defaultCenter] removeObserver:self]; //移除监听 }
3,动态添加执行方法
-(void) viewDidLoad { [_userName addTarget:self action:@selector(textChange) forControlEvents:UIControlEventEditingChanged]; //forControlEvents 触发事件 } -(void)textChange { NSLog(@"%@", _userName.text); }
标签:
原文地址:http://my.oschina.net/u/274829/blog/519079