如何在Mac上實現(xiàn)密碼可見
在 macOS 上的密碼框使用的是 NSSecureTextField
不像在 iOS 中有個,直接有個屬性可以設(shè)置密碼是否可見。NSSecureTextField的echosBullets并沒有什么卵用,試了包括重寫在內(nèi)的很多方法,密碼還是不能看見。試過各種方法,最終還是同時使用了NSTextField 和 NSSecureTextField 實現(xiàn)了密碼可見性的切換。
具體思路:
- 輸入框和密碼輸入框位于同一位置,默認密碼輸入框可見,輸入框隱藏。
- 設(shè)置兩者的代理,在結(jié)束編輯時,同步兩者的值。(當點擊顯示隱藏密碼的小眼睛時,會自動結(jié)束編輯)
- 當點擊小眼睛時,根據(jù)狀態(tài)隱藏和取消隱藏 密碼輸入框或輸入框
注意事項:
文字大小,placeholder 大小,均需設(shè)置的一致,不然會出現(xiàn)字體變化,或者光標顯示不和諧。