不过,监听消息还要记得解除监听,通常我还习惯把监听消息的代码统一放在一个方法中,看起来有点“大动干戈”。
所幸的是UITextField本身提供了相应的事件监听:
[textField addTarget:self action:@selector(textFieldDidChange:) forControlEvents:UIControlEventEditingChanged];
这样就可以更好地限制输入长度:
- (void)textFieldDidChange:(UITextField *)textField
{
if(textField == self.titleField) {
if(textField.text.length > 20) {
textField.text = [textField.text substringToIndex:20];
}
}
}