NSPopoverのカスタムアニメーションを作成する方法はありますか?
プロパティを使用してアニメーションをオフにすることはできanimates
ますが、NSPopoverはのサブクラスでNSResponder
あり、適切なビューやウィンドウではないため、自分でアニメーション化する方法がわかりません。
のアニメーションシステムに接続する方法はありませんNSPopover
。インターフェイスのクラスダンプを実行しましたが、便利なプライベートメソッドがあるようには見えません。
カスタムのアニメーションポップオーバーが必要な場合は、最初から実装する必要があります(これはそれほど難しいことではありません)。
ポップオーバーは、表示しているビューに応じてアニメーション化します。ビューのサイズを特定の方法で変更するだけで、ビューのサイズを変更している間、ポップオーバーがアニメーション化されます。もちろん、これは、必要なアニメーションがかなり単純で、ポップオーバーのビューに実装できる場合にのみ機能します。
NSPopoverには、typeof。という名前のプライベートプロパティが_popoverWindow
あり_NSPopoverWindow
ます。
_NSPopoverWindow
setAnimates:
メソッドがあります。この方法を使用してデフォルトのアニメーションを無効にし、を_popoverWindow
使用してカスタムアニメーションを作成できNSPopoverDelegate
ます。