監測UITextField的變化


監測UITextField的變化可以為UIControlEventEditingChanged事件添加target。

我們有時候會需要用到這個需求:輸入框輸入文本超過xx長度,不再允許輸入其他內容!

UITextField 代理方法本身是無法滿足這個需求的。(當然你可以給UITextView添加placeholder實現相同的需求,此處不做介紹。)

示例代碼如下:

    UITextField *textField = [[UITextField alloc] initWithFrame:CGRectMake(20.f, 100.f, CGRectGetWidth(self.view.frame) - 40.f, 30.f)];
    textField.backgroundColor = [UIColor whiteColor];
    textField.placeholder = @"placeholder_King";
    [self.view addSubview:textField];
    // 添加 UIControlEventEditingChanged  target事件,即可實時監測textField 內容,並做一些操作
    [textField addTarget:self action:@selector(textFieldDidChange:) forControlEvents:UIControlEventEditingChanged];
- (void)textFieldDidChange:(UITextField *)textField {
    if (textField == self.textField) {
        if (textField.text.length > 40) {
            textField.text = [textField.text substringToIndex:40];
        }
    }
}

 

參考資料:

傳送門一(Swift)

傳送門二(OC)


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM