最後に入力した文字を除くすべてを非表示にするビューをOSXCocoaで作成する必要があります(設定された時間が経過するとその文字が非表示になるまで)。基本的に、 OSXCocoaUITextField
でwithを使用したいと思います。textfield.secureTextEntry = YES
OSXCocoaにインポートする方法が見つかりませんでしたUITextField
。とは2つの異なるフレームワークからのものであるためNSTextField
、これはとにかく可能ではないと思います。UITextField
NSSecureTextField
OS Xでは、Cocoaは設定された時間、最後の文字を表示し続けません。また、この動作を変更する設定可能なインスタンスまたはクラスプロパティを見つけることができませんでした。
NSTextField
から開始してイベントをトリガーして、独自の実装をロールしようとしましkeyUp:
たが、コーナーケースで問題が発生しています。私の現在のアプローチは、保存されているテキストNSTextField
を非表示の文字(最後の文字を除くすべて、一定時間など)に変更することです。ただし、この手法では、ユーザーが7文字のパスワードで2番目から5番目の文字を選択し、それらを削除するとどうなりますか。次に、どの隠し文字が削除されたかを把握して、正しく入力されたパスワードを取得できるようにするにはどうすればよいですか?
したがって、独自の実装をロールする必要がある場合は、に格納されている実際のテキストを変更する必要はなくNSTextField
、代わりにビューが画面に表示される方法を変更する必要があると思います。しかし、私は現在これを行う方法を見つけることができません。ここで助けていただければ幸いです。
また、自分の実装をロールバックしないという強い偏見があるとも言えます。以前の作業を活用するか、UITextField
OS X Cocoaにインポートしてこの問題を解決する方法を誰かが知っている場合は、それらの解決策を歓迎します(そして強く支持します)。