2

パターン画像(下に影のある赤いテクスチャ)があります。このコードを使用すると

view.backgroundColor = [UIColor colorWithPatternImage:[UIImage imageNamed:@"myPattern.png"]];

大丈夫です。影は下にあります。しかし、私が使用するとき

view.layer.backgroundColor = [UIColor colorWithPatternImage:[UIImage imageNamed:@"subscribe-pattern.png"]].CGColor;

面倒です。画像が反転します (影が上に表示されます)。この問題を解決する方法を教えてください。2番目の方法を使用して画像を反転させる必要があります。

4

1 に答える 1

5

bobnoble がコメントで言及しているように、Core Graphics と iOS は起源を反転させました。iOS は画面の左上隅から始まり、Core Graphics は左下から始まります。

ビューのレイヤ プロパティにアクセスすることで、Core Graphics レベルにドロップダウンします。そのレベルに落ちなければならない場合は、逆さまに作業を開始する必要があります。簡単な修正は、パターンを事前にフリップすることです。グラフィックエディタから逆さまに保存するだけです。UI レベルと CG レベルの両方で同じ画像を使用する必要がある場合は、いつでも 2 つのバージョンを保存できます。

コードでは、逆さまの画像を描画する前に CG レイヤーを反転および変換してから、さらに描画するためにレイヤーを以前の状態に戻すことができます。ちょっと複雑ですが、多くの Core Graphics チュートリアルで十分にカバーされています。

于 2012-10-29T13:52:05.733 に答える