1

NSCollectionViewItems の 3 つの列を収容する NSCollectionView があります。NSCollectionViewItem プロトタイプ ビューのそれぞれに、単一の NSImageView があります。私の知る限り、これはかなり標準的な設定です。この問題は、コレクション ビューを表示するためにポップオーバーを使用したことが原因だと思いますが、正直よくわかりません。基本的に、私が抱えている問題は、前述の NSCollectionViewItems のいずれかをクリックして「選択済み」としてマークすると、時々ちらつき/点滅することです。それは完全な契約違反ではありませんが、この質問を投稿するのに十分迷惑です.

HTML/CSS/JS のゲームから来て、Web テクノロジーを使って何かを構築するときにちらつきを防ぐ方法をすべて考え始めました。私が最初に考えたのは、NSCollectionView (およびサブビュー) の特定の部分をレイヤーでサポートすることでした。レイヤーを介して描画を行うか、コレクションビューをレイヤーに基づく期間に設定するだけで、CSS の GPU 拡張アニメーションのようなもの (たとえば、サブピクセルアンチエイリアシングなし、Z 深度を有効にするなど) のレンダリングが向上すると考えました。 .)。

そこで、NSCollectionView をサブクラス化[self setWantsLayer:YES]し、
-(id)initWithCoder:aDecoderメソッドに a を追加しました。私が正しかった!ちらつきを完全に取り除きました。また、スクロールがよりスムーズになりました。しかし、ちらつきをなくす過程で、他のすべてが台無しになり始めました。ポップオーバーの読み込みには約 10 秒かかり (元は約 500 ミリ秒)、アイテムが奇妙に重なり合うなどの処理が行われます。

皆さんへの私の質問はこれです:私は何をすべきですか?誰かが兄弟を助けることができれば、私は本当に感謝しています.

4

0 に答える 0