国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 系統(tǒng) > iOS > 正文

僅幾行iOS代碼限制TextField輸入長度

2019-10-21 18:52:41
字體:
供稿:網(wǎng)友

網(wǎng)上有很多限制textField輸入長度方法,但是我覺得都不是很完美,準(zhǔn)確來說可以說是不符合實(shí)際開發(fā)的要求,因此在這里整理一下textField限制輸入長度的方法.

 我所采用的并不是監(jiān)聽方法而是最不同的代理實(shí)現(xiàn)方法,為什么不使用監(jiān)聽呢???
 當(dāng)你看到這篇文章很有可能視是為一件事所苦惱那就是使用監(jiān)聽限制輸入長度后不能夠完美的控制輸入內(nèi)容.

 舉一個(gè)簡單的例子: 

你要限制輸入長度為30個(gè)字符,當(dāng)你輸入30個(gè)字符后監(jiān)聽的確可以很好的控制不讓你繼續(xù)輸入,但是問題也隨之而來,當(dāng)你把光標(biāo)移動到輸入內(nèi)容中間的位置后,你是可以繼續(xù)輸入的這種輸入讓人很苦惱因?yàn)楫?dāng)你輸入后你的光標(biāo)會移動到最后,并且限制你繼續(xù)輸入,但是你剛剛輸入的內(nèi)榮卻保留在了文本中間,這很不符合要求.

 因此在這里采用代理可以很好的實(shí)現(xiàn)我們想要的效果,僅僅幾行代碼希望給你帶來幫助.

 - (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string {    if (textField == self.liveThemeTextField) {  //這里的if時(shí)候?yàn)榱双@取刪除操作,如果沒有次if會造成當(dāng)達(dá)到字?jǐn)?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í)有所幫助,也希望大家多多支持VEVB武林網(wǎng)。


注:相關(guān)教程知識閱讀請移步到IOS開發(fā)頻道。
發(fā)表評論 共有條評論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 荥经县| 沾化县| 呼玛县| 汉寿县| 斗六市| 尉犁县| 石门县| 威信县| 共和县| 巴塘县| 密云县| 玉树县| 永平县| 库车县| 抚松县| 景东| 焉耆| 丹巴县| 綦江县| 柳林县| 资中县| 昌江| 德令哈市| 颍上县| 习水县| 疏勒县| 尼玛县| 甘德县| 重庆市| 龙州县| 咸阳市| 屏南县| 大足县| 新化县| 浪卡子县| 石景山区| 元阳县| 分宜县| 江安县| 伽师县| 奎屯市|