僅幾行iOS代碼限制TextField輸入長度
網(wǎng)上有很多限制textField輸入長度方法,但是我覺得都不是很完美,準確來說可以說是不符合實際開發(fā)的要求,因此在這里整理一下textField限制輸入長度的方法.
我所采用的并不是監(jiān)聽方法而是最不同的代理實現(xiàn)方法,為什么不使用監(jiān)聽呢???
當你看到這篇文章很有可能視是為一件事所苦惱那就是使用監(jiān)聽限制輸入長度后不能夠完美的控制輸入內(nèi)容.
舉一個簡單的例子:
你要限制輸入長度為30個字符,當你輸入30個字符后監(jiān)聽的確可以很好的控制不讓你繼續(xù)輸入,但是問題也隨之而來,當你把光標移動到輸入內(nèi)容中間的位置后,你是可以繼續(xù)輸入的這種輸入讓人很苦惱因為當你輸入后你的光標會移動到最后,并且限制你繼續(xù)輸入,但是你剛剛輸入的內(nèi)榮卻保留在了文本中間,這很不符合要求.
因此在這里采用代理可以很好的實現(xiàn)我們想要的效果,僅僅幾行代碼希望給你帶來幫助.
- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string {
if (textField == self.liveThemeTextField) {
//這里的if時候為了獲取刪除操作,如果沒有次if會造成當達到字數(shù)限制后刪除鍵也不能使用的后果.
if (range.length == 1 && string.length == 0) {
return YES;
}
//so easy
else if (self.liveThemeTextField.text.length >= 30) {
self.liveThemeTextField.text = [textField.text substringToIndex:30];
return NO;
}
}
return YES;
}
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
iOS開發(fā)之獲取系統(tǒng)相冊中的圖片與視頻教程(內(nèi)帶url轉(zhuǎn)換)
本篇文章主要介紹了iOS開發(fā)之獲取系統(tǒng)相冊中的圖片與視頻教程(內(nèi)帶url轉(zhuǎn)換),主要介紹AssetsLibrary 框架,具有一定的參考價值,有需要的可以了解一下。2016-11-11
iOS實現(xiàn)動態(tài)元素的引導(dǎo)圖效果
這篇文章給大家介紹了iOS實現(xiàn)動態(tài)元素的引導(dǎo)圖效果的步驟,文章給出了示例代碼介紹的很詳細,有需要的朋友們可以參考借鑒,下面來一起看看吧。2016-09-09

