iOS用UITextField切換明文/密文顯示時(shí)末尾空白的問(wèn)題解決
前言
大家應(yīng)該都知道,密碼框有個(gè)常見(jiàn)的需求:用一個(gè)按鈕切換密碼的明文/密文顯示。點(diǎn)一下顯示明文,再點(diǎn)一下顯示密文。
本來(lái)是個(gè)很簡(jiǎn)單的需求,因?yàn)?UITextField 有secureTextEntry這個(gè)屬性可以用。
發(fā)現(xiàn)問(wèn)題
但沒(méi)想到,簡(jiǎn)單的一句代碼并不能解決問(wèn)題:
- (IBAction)secureSwitchAction:(id)sender { self.passwordTextField.secureTextEntry = !self.passwordInputTextField.secureTextEntry; }
問(wèn)題在于,在切換明文/密文的時(shí)候,如果切換前后的字符串寬度不一樣,字符串末尾到光標(biāo)之間會(huì)出現(xiàn)一大段空白。
切換之后,光標(biāo)前面有一段空白
官方文檔里也沒(méi)提這件事,估計(jì)又是官方實(shí)現(xiàn)的一個(gè) bug 了。
解決方法
好在只需要簡(jiǎn)單加幾句代碼:
- (IBAction)secureSwitchAction:(id)sender { self.passwordTextField.secureTextEntry = !self.passwordTextField.secureTextEntry; NSString* text = self.passwordTextField.text; self.passwordTextField.text = @" "; self.passwordTextField.text = text; }
就能解決問(wèn)題了。
p.s. 我當(dāng)時(shí)還查到了一篇文章 只用一行代碼[self.passwordInputTextField becomeFirstResponder];
就能解決這個(gè)問(wèn)題,只是副作用是會(huì)讓輸入焦點(diǎn)切換到密碼框。如果不介意的話,用這個(gè)方法也可以。
總結(jié)
以上就是這篇文章的全部?jī)?nèi)容了,希望本文的內(nèi)容對(duì)大家的學(xué)習(xí)或者工作能帶來(lái)一定的幫助,如果有疑問(wèn)大家可以留言交流,謝謝大家對(duì)腳本之家的支持。
相關(guān)文章
iOS開(kāi)發(fā) 正則運(yùn)算詳細(xì)介紹
這篇文章主要介紹了iOS開(kāi)發(fā) 正則運(yùn)算的相關(guān)資料,需要的朋友可以參考下2016-09-09iOS UICollectionView刷新時(shí)閃屏的解決方法
本篇文章主要介紹了iOS UICollectionView刷新時(shí)閃屏的解決方法,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2017-11-11詳解使用Xcode7的Instruments檢測(cè)解決iOS內(nèi)存泄露(最新)
本篇文章主要介紹使用Xcode7的Instruments檢測(cè)解決iOS內(nèi)存泄露(最新)的相關(guān)資料,需要的朋友可以參考下2017-09-09iOS 11更新后及iPhone X推出后工程中遇到的問(wèn)題及適配方法
這篇文章主要介紹了iOS 11更新后及iPhone X推出后工程中遇到的問(wèn)題及適配,需要的朋友可以參考下2017-10-10IOS初始化控制器的實(shí)現(xiàn)方法總結(jié)
這篇文章主要介紹了IOS初始化控制器的實(shí)現(xiàn)方法總結(jié)的相關(guān)資料,這里提供兩種實(shí)現(xiàn)方法分別是ViewControllViewController方法和 ViewControllViewController 與 xib方法,需要的朋友可以參考下2017-10-10iOS常用算法之兩個(gè)有序數(shù)組合并(要求時(shí)間復(fù)雜度為0(n))
這篇文章主要介紹了iOS常用算法之兩個(gè)有序數(shù)組合并(要求時(shí)間復(fù)雜度為0(n)),實(shí)現(xiàn)思路是先將一個(gè)數(shù)組作為合并后的數(shù)組, 然后遍歷第二個(gè)數(shù)組的每項(xiàng)元素,需要的朋友可以參考下2019-07-07iOS開(kāi)發(fā)之?dāng)r截URL轉(zhuǎn)換成本地路由模塊URLRewrite詳解
這篇文章主要給大家介紹了關(guān)于iOS開(kāi)發(fā)之?dāng)r截URL轉(zhuǎn)換成本地路由模塊URLRewrite的相關(guān)資料,這是最近在工作中遇到的一個(gè)需求,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面跟著小編來(lái)一起看看吧。2017-08-08