0

最初の実行後にメインウィンドウが表示された直後に、シートダイアログを表示する必要があります。initで実行したり、nibから起動したりすると、正しく機能しないようです(initメソッドで実行すると、シートがメインウィンドウから切り離されたウィンドウとして表示されます)。親ウィンドウが表示されたら、シートを表示する必要があると思います。ウィンドウポインタを持つappcontrollerクラスがあります。だから私は代理人またはウィンドウ付きのものとして登録する必要があると思いますか?そして、その呼び出しを受信するためのいくつかのメソッドを実装しますか?ありがとう、

4

2 に答える 2

3

信頼できるイベント、通知、またはデリゲートメソッド呼び出しはありません。あなたのコードがウィンドウを表示する責任があると予想されるので、ウィンドウがいつ表示されるかをすでに知っているはずです。

InterfaceBuilderで設定されたVisibleatLaunchプロパティに依存していますか?もしそうなら、NIBをロードするために何を使用していますか?うまくいけば、ウィンドウコントローラー。その場合は、-windowメソッドを呼び出してNIBをロードし、ウィンドウを取得する必要があります。結果のウィンドウ参照は、シートを開始するメソッドに渡すものです。

起動時にVisibleに依存していない場合、ウィンドウを表示するためにどのコードを使用していますか?たとえば-showWindow:、ウィンドウコントローラを呼び出しますか?したがって、その直後にシートを表示するコードを配置します。

于 2013-02-12T05:45:42.250 に答える
1

applicationDidFinishLaunching:はエントリポイントです。アプリがすべてセットアップされた後、ユーザーがアプリを操作する前に、アプリデリゲートに送信されます。

于 2013-02-12T05:46:28.667 に答える