質問

私はそれが実際に終了する前にNSOpenPanelが閉じているときを判断しようとしています。私は、私がアニメ化されることの上に開いているパネルのスクリーンショットで別のウィンドウを重ねることができ、これを行う必要があります。残念ながら、あなたがアクセスできるように思われるすべての通知は、ウィンドウが既に閉じられていAFTER発射するようです。あなたの移行を開始する前に、これが耳障りなスタッターにつながります。

私が試してみた:
を - オープンパネルにNSWindowのデリゲートメソッドを使用して(明らかに、NSWindowのデリゲートメソッドのいずれも動作しません)
- 監視パネル:userEnteredFilename:確認:(呼び出されません)
- コールバックとの対話を示す(パネルが消えた後コールバックが起こる)

役に立ちましたか?

解決 2

これを処理する別の方法は、[キャンセル]ボタンのためNSOpenPanelのサブビューに目を通すと、ターゲット/アクションとして自分自身をスワップすることでした。これは私がやってしまったものです。

他のヒント

あなたはオープンパネルのデリゲートとしてあなたのコントローラを登録し、その後-panel:isValidFilename:のデリゲートメソッドを実装する必要があります。このメソッドは、開いているダイアログが閉じる直前に呼び出されます。

あなただけの通知をしたい場合は、

あなたは、メソッドからYESを返す必要があります。 NOを返すこと、あなたが閉鎖されてから開くダイアログを防ぐことができます。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top