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番目の画像を作成し、背景をマスクすることです。
そもそも透明な背景を「ペイント」する方法はありますか?