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