1

非ドキュメントベースのアプリケーションで「command + n」を使用して複数のウィンドウを作成/有効にする方法はありますか? コマンド+ nを使用して、そのウィンドウの無制限のインスタンス(実際には無制限ではありませんが、6〜7のインスタンスになる可能性があります)が必要です

または、ドキュメント ベースのアプリを作成し、すべてのコードを新しいプロジェクト テンプレートに移植することが唯一の解決策ですか?

「新規」のメニューボタンが現在無効になっていることがわかります。

4

2 に答える 2

1

これを行うにはいくつかの方法があります。最初に New メニュー項目を IBAction メソッドに接続します。メソッドにわかりやすい名前を付けてください。

次に、基本的に各ウィンドウまたはウィンドウ コントローラーへの参照のみを格納するウィンドウ スタックである何らかの種類のプロパティをコントローラー (簡単にするためにアプリ デリゲート) に追加する必要があります。NSMutableArray はうまくいくはずです。

次の部分をいくつかの方法で実行できますが、nib/xib を使用して NSWindowController サブクラスを作成することをお勧めします (特に、これらのウィンドウに同じ基本的なものが含まれる場合)。nibファイルで必要なことを行います。

IBAction メソッドで、ウィンドウ コントローラー クラスの新しいインスタンスを作成し、可変配列に追加します。ウィンドウをロードするように指示します。

ウィンドウが閉じている場合に、コントローラーをスタックから削除して nil に設定するかどうかを決定する必要があるだけです。それを処理する多くの方法と、何が正しいかを知るための設計次第です。

于 2013-10-29T14:06:12.137 に答える