4

私はNSDocument複数のファイル タイプに保存できるベース アプリケーションを持っているので、ドキュメントを保存するときに、NSDocument は、ユーザーが保存するタイプを選択できるアクセサリ ビューとして、保存パネルにポップアップ ボタンを便利に追加します。良い。

ここで、保存パネルに含めたい別のビューがありますが、オーバーライドして独自のビューを挿入するために-[NSDocument prepareSavePanel:]使用-setAccessoryView:すると、ファイル タイプのポップアップ ボタンが置き換えられるため、自分のビューのみがポップアップボタンではなく、パネルを保存します。

NSDocument自分のビューそのファイル タイプ ポップアップの両方を保存パネルに同時に表示する方法はありますか? 既存のアクセサリ ビューを取得し、それを自分のアクセサリと一緒にコンテナ ビューにパッチして、元に戻すことができるように見えますが、それはかなりハックなようで、これを行うためのより良い方法があるかどうか疑問に思っていました。逃した。

4

1 に答える 1

5

いいえ、大幅に良い方法はありません。次のことを行う方が少し簡単/優れている場合があります。

  1. 独自のアクセサリ ビューペン先でファイル タイプ ポップアップを作成する
  2. 実行時に、NSSavePanelの既存のアクセサリ ポップアップを見つけ、
  3. 既存のポップアップの設定方法から引き出された引数を使用して、ポップアップでsetTarget:/ setAction:/を呼び出します。setMenu:

それが私たちのアプリが行う方法であり、すべて同じペン先にあるため、ファイルの種類のポップアップを残りのコントロールと視覚的に配置しやすくなります。

于 2011-05-11T02:56:58.613 に答える