當UITextField控件内容不為空的時候,可以通過UITextFiedlDelegate協議中的- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string方法知道用戶是否點擊了鍵盤上的删除按鈕,判斷string.length是否為0即可;而當删除完所有的文字之後,再點擊删除按鈕,這個回調是不執行的,那麼該怎麼辦呢?
可以這樣做:UITextFiled是遵循UIKeyInput協議的,可以重寫deleteBackward方法,或者swizzle這個方法,就可以啦,不要忘記執行一下原有方法哦,否則原有點擊删除按鈕會無效。這種方式不管輸入框内是否有内容,都可以知道用戶是否點擊了鍵盤上的删除按鈕。
另外,如果想實現一些簡單的文本輸入,比如說微信或者支付寶輸入密碼的控件,輸入驗證碼控件等,不需要UITextFiled或者UITextView那麼多冗餘的功能,可以直接自己實現UIKeyInput協議,非常的給力!
,
更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!