如何在Mac上实现密码可见
在 macOS 上的密码框使用的是 NSSecureTextField
不像在 iOS 中有个,直接有个属性可以设置密码是否可见。NSSecureTextField的echosBullets并没有什么卵用,试了包括重写在内的很多方法,密码还是不能看见。试过各种方法,最终还是同时使用了NSTextField 和 NSSecureTextField 实现了密码可见性的切换。
具体思路:
- 输入框和密码输入框位于同一位置,默认密码输入框可见,输入框隐藏。
- 设置两者的代理,在结束编辑时,同步两者的值。(当点击显示隐藏密码的小眼睛时,会自动结束编辑)
- 当点击小眼睛时,根据状态隐藏和取消隐藏 密码输入框或输入框
注意事项:
文字大小,placeholder 大小,均需设置的一致,不然会出现字体变化,或者光标显示不和谐。
网友评论