iOS開發若何更好的限制UITextField的輸入長度?
前言
實際專案開發中我們會在很多時候遇到輸入框要限制字數的情況(如果你登陸註冊的時候可能密碼使用者名稱要限制幾位,或者你在評論一個帖子的時候要限制你評論的字數等等),那麼接下來就讓我們一起看看到底要怎樣處理才能更好的實現對輸入長度的控制。
一般同學在看到這個需求的時候首先想到的是使用 UITextFieldDelegate的代理方法就直接控制就可以:
- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string; // return NO to not change text
例如:我們具體需求要限制輸入長度為10,那麼就會:
- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string{
if (textField == MyTextField) {
if (textField.text.length > 10) {
return NO;
}
}
return YES;
}
缺點是:比如說要求控制10個字,當輸入到第9個的時候,一下打拼音打出來好幾個字,或者點選聯想詞出來好幾個字的話,那麼輸入框裡面的字數就大於10個了。那麼應該怎麼處理呢?
UITextField有UITextFieldTextDidChangeNotification這個訊息通知(注意:監聽訊息還要記得解除監聽)使用方法:
[textField addTarget:self action:@selector(textFieldDidChange:) forControlEvents:UIControlEventEditingChanged];
- (void)textFieldDidChange:(UITextField *)textField{
if (textField == self.titleField) {
if (textField.text.length > 10) {
textField.text = [textField.text substringToIndex:10];
}
}
}
相關文章
- iOS 限制textField輸入的長度iOS
- iOS Swift 輸入框限制長度iOSSwift
- 表單限制字串輸入長度字串
- javascript限制文字框輸入長度JavaScript
- SQLPLUS 下輸入命令的字元長度限制SQL字元
- jQuery限制文字框輸入長度詳解jQuery
- UITextView如何精準限制文字輸入長度UITextView
- iOS 程式碼限制textField的輸入長度並且刪除按鈕還得有效iOS
- iOS TextFiled,TextView 長度限制,表情限制iOSTextView
- element-ui 輸入框el-input 輸入長度限制元件不生效UI元件
- iOS金額輸入限制iOS
- iOS學習筆記01 textfield 限定輸入的文字長度iOS筆記
- 解決element-ui 輸入框el-input 輸入長度限制元件不生效UI元件
- UITextView UITextField限制輸入字數以及精準剩餘字數顯示UITextView
- 微信發紅包UITextField金額輸入格式化UI
- jQuery Validate限定輸入字串的長度jQuery字串
- iOS -UITextField/UITextView之鍵盤遮擋輸入框解決方法iOSUITextView
- 限制UITextField字數的正確姿勢UI
- 讓 Android 輸入框只能輸入固定長度的中英文Android
- 直播軟體開發,限制富文字框輸入的字元數上限字元
- iOS開發之定製輸入框iOS
- iOS-UITextFieldiOSUI
- 短視訊軟體開發,flutter 輸入框限制輸入 數字、小數Flutter
- 編寫一個程式求輸入字串的長度字串
- EditText中輸入資訊的限制的方法
- UITextField只允許輸入中,英文,數字UI
- 給iOS開發新手送點福利,簡述UITextField的屬性和用法iOSUI
- MySQL的欄位數量以及長度限制MySql
- 文字框限制輸入字數的JSJS
- 限定文字框輸入字串長度程式碼字串
- 從一次輸入框無法輸入的bug,談如何限制輸入框輸入型別型別
- input最大長度限制問題
- 關於mysql varchar 型別的最大長度限制MySql型別
- DB2中的限制之一SQL識別符號的長度限制 (轉)DB2SQL符號
- Http協議中的各種長度限制總結HTTP協議
- iOS UITextField實時監測編輯的文字iOSUI
- [貝聊科技]如何在iOS開發中更好的做假資料?iOS
- IOS開發之SOCKET長連線的使用iOS