0

ここに写真があります:

ここに画像の説明を入力

レイヤー(描画する領域)を大きくする方法はありますか?最初は(0,0)が中心だと思っていたのですが、レイヤーの起点になっているようです。(0,0) にコンテンツを描画し、必要に応じて翻訳する予定でした。

または、レイヤーの中央 (幅/2、高さ/2) にあるものをすべて描画し、必要に応じて変換する必要がありますか?

EDIT_01: レイヤーのオフセットは、パン ジェスチャ レコグナイザーによって作成されます。アプリにはコンテンツのパンが必要なので、これは意図的なものです。

4

1 に答える 1

1

回答

最初は(0,0)が中心だと思っていたのですが、レイヤーの起点になっているようです

iOS の (0,0) はレイヤーの左上から始まり、右に行くほど大きくなります。OS X では、(0,0) は左下から始まり、右に行くほど大きくなります。

レイヤー(描画する領域)を拡大して大きくする方法はありますか

私が持っている質問は、あなたはする必要がありますか? 実際には必要のないときに描画データをレンダリングおよび保存しているため、パフォーマンスの問題が発生し、より多くのメモリが使用される可能性があります。レイヤーが画面を正しく塗りつぶしているように見えますが、正しく変換されていません。正しい場所に移動すれば、レイヤーを画面外に展開する必要はありません。

これは、画面外の他のレイヤーを変換できないという意味ではありません。もちろん、変換できます。しかし、実際には、描画領域のサイズを拡大して画面外に拡大したくはありません。

レイヤーの中央 (幅/2、高さ/2) にあるものをすべて描画し、必要に応じて変換する必要がありますか?

それらを中央に描きたい場合は、はい。独自の座標空間をレイヤーの座標空間に変換する独自の方法を作成して、これを簡単にすることができます。

ドキュメンテーション

のジオメトリの仕組みをよりよく理解するために、これを読むことをお勧めしCALayerます 。 /doc/uid/TP40006082-SW1

...そしてこれで描画テクニックを理解できます: https://developer.apple.com/library/ios/#documentation/graphicsimaging/conceptual/drawingwithquartz2d/dq_layers/dq_layers.html

于 2012-11-23T13:58:16.903 に答える