UITextField的代理方法

// 设置代理
    self.textField.delegate = self;
    
    // 通过addTarget:也可以添加响应事件
//    [self.textField addTarget:self action:@selector(tfEditingDidBegin) forControlEvents:UIControlEventEditingDidBegin];
//    [self.textField addTarget:self action:@selector(tfEditingDidEnd) forControlEvents:UIControlEventEditingDidEnd];
//    [self.textField addTarget:self action:@selector(tfEditingChanged:) forControlEvents:UIControlEventEditingChanged];
- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event {
    // 退出键盘
//    [self.textField endEditing:YES];
    
//    [self.textField resignFirstResponder];
    
    [self.view endEditing:YES]; // 最常用此方法
}
#pragma mark - UITextFieldDelegate
- (void)textFieldDidBeginEditing:(UITextField *)textField {
    NSLog(@"开始编辑");
}
- (void)textFieldDidEndEditing:(UITextField *)textField {
    NSLog(@"结束编辑");
}
/**
 *  当textField文字改变就会调用这个方法
 *  @param string    用户输入的文字
 *
 *  @return YES:允许用户输入; NO:禁止用户输入
 */
- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string {
    NSLog(@"shouldChangeCharactersInRange--%@", string);
    if ([string isEqualToString:@"1"]) {
        return NO;
    }
    
    return YES;
}

你可能感兴趣的:(UITextField的代理方法)