私は、数百のCALayer
のオブジェクトが互いに隣接して並んでいる可能性があります。したがって、これは可能な限り実行可能でなければなりません。これらのレイヤーはあまり複雑ではありません。これらは不透明であり、テキストまたはシェイプのレイヤーになります。この量のレイヤーをレイアウトする必要があります。これにはCAConstraints
を使用します。CALayerとレイヤーバックNSViewのパフォーマンス
リンゴのドキュメントから:
重要:OS Xのv10.8以降では、あなたがレイヤー階層の使用を最小限に抑え、ちょうど層担保ビューを使用することをお勧めします。そのバージョンのOS Xで導入されたレイヤー再描画ポリシーにより、レイヤーバックビューの動作をカスタマイズし、スタンドアロンレイヤーを使用して以前に得られたパフォーマンスを引き続き得ることができます。
私は、CALayer
オブジェクトがビューよりも軽量であることを知っています。私は確信していませんなぜ我々は層の代わりにレイヤービューを直接使用する必要があります。自動レイアウトでの使いやすさのためか、このステートメントのパフォーマンス/メモリ関連の理由が増えていますか?このコードはOS XとiOSの両方で動作するため、最高のパフォーマンスを実現したいと考えています。
どのようにすればいいですか?自動レイアウトとレイヤーバックNSViews
またはカスタムCALayer
階層?
iOSではCAConstraintsは利用できません。レイヤーバックビューの方が柔軟性があると言われているように聞こえますが、同じパフォーマンスが得られます。 – beyowulf
私はCAConstraintsの利用可能性を探していたはずです..ありがとう! – mangerlahn