5

UITableViewCellの「UIImageView」プロパティの(独自のカスタムを描画する)UIImageを動的に作成しています。

ユーザーがtableViewセルを選択すると、セルの背景は青に変わりますが、カスタムUIImageの背景は青に変わりません。白のままです(そのため、そこに画像が表示されているのは非常に明確です)。いろいろな描画方法を試しました

// when I create the cell
cell.imageView.backgroundColor = [UIColor clearColor];
cell.imageView.opaque = NO;

// 1. when I create the UIImage - clearColor background
CGContextSetFillColorWithColor(context, [UIColor clearColor].CGColor);
CGContextFillRect(context, rect);

// 2. when I create the UIImage - clear background
CGContextClearRect(context, rect);

しかし、これらのアプローチの両方で、背景は黒です。動作しているように見える唯一のことは、画像の作成を終了してから、最初の画像に基づいて「CGImageCreateWithMaskingColors」を使用して2番目の画像を作成し、背景をマスクすることです。

そもそも透明な背景を「ペイント」する方法はありますか?

4

1 に答える 1

10

画像コンテキストをセットアップするときに、関数のパラメーターに渡しNOていることを確認してください。opaqueUIGraphicsBeginImageContextWithOptions

于 2012-11-22T19:51:13.670 に答える