私は次のことを行う必要のあるプロジェクトに取り組んでいます:
- IKImageBrowserViewを含むビューから別のビューへの遷移アニメーションがあります。
- マウスがビュー上を移動するときに、各IKImageBrowserCellにホバーオーバーレイを配置します。と
- NSViewを画像ブラウザビューの一部とオーバーラップさせる
私が抱えている問題は次のとおりです。
- IKImageBrowserViewは、レイヤーバックされていない場合、z順序を尊重しません-> IKImageBrowserViewは、ビューがその上にある場合でも(またはその上にある場合でも)、一番上に留まります
- 画像ブラウザビューがレイヤーバックの場合、z順序の問題は解決されますが、IKImageBrowserViewのカスタム動作が壊れます(ホバーなど)->たとえば、Mac 10.7では、ブラウザセルの選択レイヤーとフォアグラウンドレイヤースクロールビューの「バウンス」ゾーンで画像と一緒に移動しないでください。
トランジションアニメーションを実行するには、レイヤーバッキングが必要です。
パフォーマンス上の理由から、Appleは兄弟ビューの重複を推奨していないことを認識しています。これは避けられない場合もあります。
これについてAppleにテクニカルサポートインシデントを提出しました。彼らはそれをエンジニアにエスカレートしましたが、バグレポートを提出するように私にアドバイスしました。
誰かが以前にこれに遭遇したことがありますか?もしそうなら、あなたはどのような回避策を採用しましたか?
興味のある人のために、サンプルプロジェクトはここhttps://github.com/jdbenito/nerderyにあります。アプリデリゲートで、-setWantsLayer:行のコメント化/コメント解除を試してください。
IKImageBrowserViewは、レイヤーバックされると奇妙な動作を示し始めます。また、症状はOSによって異なります(たとえば、Mac OS 10.6では、ホバーは別のタブに切り替えてIKImageBrowserViewに戻るまで機能します。MacOS10.8では、ホバーレイヤーが正しいセルに表示されないようです) 。