UITextField切換secureTextEntry狀態時字型發生改變的解決辦法

weixin_34138377發表於2016-02-25

遇到個奇葩的事兒,難道是蘋果的bug?就是當我在切換textfield是明文還是bullet的時候,textfield的字型自己改變了。。囧

350576-2468b392b19910ce.jpeg
改變了字型的textfield


奇葩的問題解決辦法也很奇葩。第一反應當然是點切換狀態的時候設定字型,思路是對的。。但可是。。真的不好使?

!!!必須在設定字型前,清空字型。。程式碼如下:

textField.secureTextEntry = !textField.secureTextEntry;

textField.font = nil;

textField.font = [UIFont systemFontOfSize:16];



那如果改好了字的字型,又發現bullet不正常了的話。。。:


350576-10648e38e69d0a74.png
大圓點
350576-0c737c0da4d75b74.png
小圓點

這種就很沒道理有木有,囧, 那解決辦法如下:

[textField resignFirstResponder];

textField.secureTextEntry = !textField.secureTextEntry;

取消第一響應那句一定要放在前面,要不然那明文的字型又不對了。。?

這是我找到的比較好的解決辦法了,雖然會把鍵盤收起,不過大體上不影響使用者體驗。還有一種方法是監聽使用者輸入狀態把明文轉換成小圓點兒。。個人感覺有點坑。。

發生這種情況的原因尚不明,哪位大神知道還請不吝賜教啊啊啊。

相關文章