ユーザーがテキスト、画像、形状 (ベクター画像) などのアイテムを操作できるアプリがあります。それらは、Photoshop のレイヤーのように互いに積み重ねられます。
操作とは、平行移動、サイズ変更、回転を意味します。
drawInRect私はすべてのアイテムを描くために使用します。残念ながら、画像を描画するときのパフォーマンスが非常に悪いことがわかります。これは、プロファイラーでコードを調べた後の結論です。
私がオンラインで読んだことから、人々はすべての画像描画に別のUIView( ) を使用し、別のビューで他のものに法線を使用することをお勧めします。UIImageViewdrawInRect
しかし、次のような状況になる可能性があるため、このアプローチには問題があります。
- 背面にテキスト付きの 2 つのレイヤー
- 画像を含む 1 つのレイヤー - テキストの一部を遮る
- 前面に 2 つのレイヤーがあり、画像の上にテキストがあります
これはUIView、最初の 2 つのテキスト レイヤー用にUIImageViewを作成する必要があることを意味しUIViewます。これは不合理に思えます。
画像描画のパフォーマンスを向上させるにはどうすればよいですか?
また、この全体を特定の最終的な画像サイズにエクスポートする必要があることに注意してください。
注:私が言及していないレイヤーについて言及している場所CALayer.