僅幾行iOS代碼限制TextField輸入長(zhǎng)度
網(wǎng)上有很多限制textField輸入長(zhǎng)度方法,但是我覺得都不是很完美,準(zhǔn)確來(lái)說(shuō)可以說(shuō)是不符合實(shí)際開發(fā)的要求,因此在這里整理一下textField限制輸入長(zhǎng)度的方法.
我所采用的并不是監(jiān)聽方法而是最不同的代理實(shí)現(xiàn)方法,為什么不使用監(jiān)聽呢???
當(dāng)你看到這篇文章很有可能視是為一件事所苦惱那就是使用監(jiān)聽限制輸入長(zhǎng)度后不能夠完美的控制輸入內(nèi)容.
舉一個(gè)簡(jiǎn)單的例子:
你要限制輸入長(zhǎng)度為30個(gè)字符,當(dāng)你輸入30個(gè)字符后監(jiān)聽的確可以很好的控制不讓你繼續(xù)輸入,但是問(wèn)題也隨之而來(lái),當(dāng)你把光標(biāo)移動(dòng)到輸入內(nèi)容中間的位置后,你是可以繼續(xù)輸入的這種輸入讓人很苦惱因?yàn)楫?dāng)你輸入后你的光標(biāo)會(huì)移動(dòng)到最后,并且限制你繼續(xù)輸入,但是你剛剛輸入的內(nèi)榮卻保留在了文本中間,這很不符合要求.
因此在這里采用代理可以很好的實(shí)現(xiàn)我們想要的效果,僅僅幾行代碼希望給你帶來(lái)幫助.
- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string { if (textField == self.liveThemeTextField) { //這里的if時(shí)候?yàn)榱双@取刪除操作,如果沒有次if會(huì)造成當(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; }
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
- IOS textField限制字節(jié)長(zhǎng)度
- iOS UITextField最大字符數(shù)和字節(jié)數(shù)的限制詳解
- iOS UITextField、UITextView只限輸入中文、英文、數(shù)字及實(shí)時(shí)限制字符個(gè)數(shù)的封裝實(shí)現(xiàn)代碼
- 解決iOS7上UITextField限制字?jǐn)?shù)輸入導(dǎo)致崩潰問(wèn)題的方法
- IOS 開發(fā)之 UITextField限制字?jǐn)?shù)的方法
- IOS中UITextView或UITextField字?jǐn)?shù)限制的實(shí)現(xiàn)
- iOS中textField限制字符串長(zhǎng)度、字符數(shù)的方法
相關(guān)文章
iOS 報(bào)clang: error: no input files錯(cuò)誤的解決方法
這篇文章主要給大家介紹了關(guān)于iOS報(bào)clang: error: no input files錯(cuò)誤的解決方法,文中通過(guò)圖文介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧。2018-01-01iOS?WKWebView秒開方案實(shí)戰(zhàn)記錄
從iOS8開始,就引入了新的瀏覽器控件WKWebView,用于取代UIWebView,下面這篇文章主要給大家介紹了關(guān)于iOS?WKWebView秒開方案的相關(guān)資料,文中通過(guò)實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下2021-12-12IOS實(shí)現(xiàn)自定義透明背景的tabbar
這篇文章介紹的是在IOS中怎樣把tabbar背景設(shè)置為透明,有需要的小伙伴們可以參考借鑒。2016-08-08iOS、Mac OS X系統(tǒng)中編程實(shí)現(xiàn)漢字轉(zhuǎn)拼音的方法(超級(jí)簡(jiǎn)單)
這篇文章主要介紹了iOS、Mac OS X系統(tǒng)中編程實(shí)現(xiàn)漢字轉(zhuǎn)拼音的方法(超級(jí)簡(jiǎn)單),本文講解的方法不僅支持中文,還支持日文、韓文等,需要的朋友可以參考下2015-04-04iOS中的多線程如何按設(shè)定順序去執(zhí)行任務(wù)詳解
多線程相信大家或多或少都有所了解吧,下面這篇文章主要給大家介紹了關(guān)于iOS中多線程如何按設(shè)定順序去執(zhí)行任務(wù)的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)各位iOS開發(fā)者們的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來(lái)一起看看吧。2017-12-12IOS給xcode工程關(guān)聯(lián)pod的實(shí)例詳解
這篇文章主要介紹了IOS給xcode工程關(guān)聯(lián)pod的實(shí)例詳解的相關(guān)資料,希望大家通過(guò)本文能實(shí)現(xiàn)這樣的需求,需要的朋友可以參考下2017-09-09