溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

如何解決iOS使用UITextField切換明文/密文顯示時末尾空白的問題

發布時間:2021-07-21 13:55:35 來源:億速云 閱讀:382 作者:小新 欄目:移動開發

小編給大家分享一下如何解決iOS使用UITextField切換明文/密文顯示時末尾空白的問題,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!

前言

密碼框有個常見的需求:用一個按鈕切換密碼的明文/密文顯示。點一下顯示明文,再點一下顯示密文。

本來是個很簡單的需求,因為 UITextField 有secureTextEntry這個屬性可以用。

發現問題

但沒想到,簡單的一句代碼并不能解決問題:

- (IBAction)secureSwitchAction:(id)sender {
 self.passwordTextField.secureTextEntry = !self.passwordInputTextField.secureTextEntry;
}

問題在于,在切換明文/密文的時候,如果切換前后的字符串寬度不一樣,字符串末尾到光標之間會出現一大段空白。

如何解決iOS使用UITextField切換明文/密文顯示時末尾空白的問題

切換之后,光標前面有一段空白

官方文檔里也沒提這件事,估計又是官方實現的一個 bug 了。

解決方法

好在只需要簡單加幾句代碼:

- (IBAction)secureSwitchAction:(id)sender {
 self.passwordTextField.secureTextEntry = !self.passwordTextField.secureTextEntry;

 NSString* text = self.passwordTextField.text;
 self.passwordTextField.text = @" ";
 self.passwordTextField.text = text;
}

就能解決問題了。

p.s. 我當時還查到了一篇文章 只用一行代碼[self.passwordInputTextField becomeFirstResponder];就能解決這個問題,只是副作用是會讓輸入焦點切換到密碼框。如果不介意的話,用這個方法也可以。

以上是“如何解決iOS使用UITextField切換明文/密文顯示時末尾空白的問題”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業資訊頻道!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女