アプリケーションのいくつかの部分で、ユーザーがパスワードを入力できるコントロールが必要です。パスワードフィールドは安全ですが、ユーザーがフィールドをプレーンテキストに切り替えてタイプミスなどをチェックできるようにしてほしい.
パスワード フィールド自体は問題ありません。必要な動作を得るために、NSSecureTextField をサブクラス化しました。バインド可能にすると、別のコントロール (チェックボックスなど) から表示を切り替えることができます。
今、これをアプリケーション内の複数の場所で再利用したいと考えています。これが必要な場所ならどこでも、チェックボックスと一緒にカスタムセキュアテキストフィールドを使用するだけです。しかし、私はこれらの部分を再利用可能なコンポーネントにグループ化することを好みます。
そこで、インターフェイス ビルダーを使用して作成します。
さて、それを別のウィンドウでどのように使用できますか? ウィンドウに「カスタム ビュー」コンポーネントを追加し、そのタイプを適切に設定しました。
しかし、実行時には空きスペースができます。
1 - おそらくビューが .xib で定義されているため - .xib から PasswordView インスタンスをロードするには、コードで何かを行う必要があります。しかし、私は正確に何をする必要がありますか? 私はこれを解決するのに苦労しています。
具体的には:
.xib からビューのインスタンスをロードするプロセス/API は何ですか? これに関するドキュメントを見つけるのに苦労しています。
ビューのインスタンスをロードしたら、それをカスタム ビューの「プレースホルダー」の代わりに挿入する方法を教えてください。おそらく、カスタム ビューへのアウトレットが必要ですが、その後はどうでしょうか。ロードしたインスタンスをアウトレットに割り当てるだけですか? サブビューとしてアウトレットに追加することになっていますか?
このロジックはどこで発生する必要がありますか? init内、AwakeFromNib内?
2 - カスタム ビュー ( example ) にNSViewController を使用して、そのようにロードできることを知っています。しかし、これだけのためにView Controllerが本当に必要なのでしょうか? スタンドアロンのビューを作成して簡単にインスタンス化できるように思えます...しかし、これは Cocoa の「やり方」ではないでしょうか? 複数の .xib からビューを構成する簡単な方法が必要だと思われますが、すべてのサブビュー (テキスト フィールドまたはボタンの場合もあります) にコントローラーを必要としませんが、私はそれを見つけていません。 ..
前もって感謝します。