質問

次のコードがあります:

CGDataProviderRef provider = CGDataProviderCreateWithFilename([myFile UTF8String]);
CGImageRef img = CGImageCreateWithJPEGDataProvider(provider, NULL, true, kCGRenderingIntentDefault);

後でこの方法でUIImageにCGImageRefをロードします:

UIImage *uiImage = [[UIImage alloc] initWithCGImage:destImage];

その画像の上に円を描きたいです。ポイントは円が移動するため、削除して再描画する必要があります。これを達成する最善の方法はレイヤーを使用することだと思うので、私の質問は次のとおりです。後でレイヤーをリセットしてそのサークルを再描画するにはどうすればよいですか?

ありがとう!

役に立ちましたか?

解決

UIImageViewを使用し、そのビューに別のレイヤーを追加します。レイヤー[円]が移動する場合は、位置プロパティを新しい中心に設定するだけです。ビューシステムはすべてを再合成します。

レイヤーにサークルを表示するには、固定画像を使用し、CALayerをサブクラス化してdrawInContext:をオーバーライドするか、デリゲートを設定してdrawLayer:inContext:を実装します。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top