質問
私はそれが実際に終了する前にNSOpenPanelが閉じているときを判断しようとしています。私は、私がアニメ化されることの上に開いているパネルのスクリーンショットで別のウィンドウを重ねることができ、これを行う必要があります。残念ながら、あなたがアクセスできるように思われるすべての通知は、ウィンドウが既に閉じられていAFTER発射するようです。あなたの移行を開始する前に、これが耳障りなスタッターにつながります。
私が試してみた:
を
- オープンパネルにNSWindowのデリゲートメソッドを使用して(明らかに、NSWindowのデリゲートメソッドのいずれも動作しません)
- 監視パネル:userEnteredFilename:確認:(呼び出されません)
- コールバックとの対話を示す(パネルが消えた後コールバックが起こる)
解決 2
これを処理する別の方法は、[キャンセル]ボタンのためNSOpenPanelのサブビューに目を通すと、ターゲット/アクションとして自分自身をスワップすることでした。これは私がやってしまったものです。
他のヒント
あなたはオープンパネルのデリゲートとしてあなたのコントローラを登録し、その後-panel:isValidFilename:
のデリゲートメソッドを実装する必要があります。このメソッドは、開いているダイアログが閉じる直前に呼び出されます。
あなたは、メソッドからYES
を返す必要があります。 NO
を返すこと、あなたが閉鎖されてから開くダイアログを防ぐことができます。
所属していません StackOverflow