を背景UITableView
とする習慣があります。UIImageView
セルの背景画像を通して背景画像を見ることができるように、表にいくつかの透明なセルを表示したいと考えています。
これまでのところ、セルbackgroundView
をUIImageView
カスタムalpha
で に設定し、背景画像ビューを に設定していbackgroundColor
ます[UIColor clearColor]
。また、セルを に設定しbackgroundColor
てい[UIColor clearColor]
ます。
セルが最初に描画されるとき、まだ白い背景が表示されます。ただし、セルを画面からドラッグすると、元に戻ったときに透明になります。誰がそれがどうなっているのか知っていますか?
編集:ここにいくつかのコードがありますが、上で述べたこと以上のことを実際に伝えているとは思いません. 一部の機密/無関係なものは編集されています。
- (id)initWithStyle:(UITableViewCellStyle)style reuseIdentifier:(NSString *)reuseIdentifier {
if((self = [super initWithStyle:style reuseIdentifier:reuseIdentifier])) {
[self setBackgroundColor:[UIColor clearColor]];
...
_backgroundImageView = [[UIImageView alloc] initWithFrame:[[self contentView] bounds]];
[_backgroundImageView setAlpha:0.5];
[_backgroundImageView setOpaque:NO];
[_backgroundImageView setBackgroundColor:[UIColor clearColor]];
[self setBackgroundView:_backgroundImageView];
}
return self;
}
- (void)drawRect:(CGRect)rect {
[super drawRect:rect];
[_backgroundImageView setFrame:rect];
}
// in a different file
- tableView:cellForRowAtIndexPath: {
...
[cell setBackgroundColor:[UIColor clearColor]];
[cell setOpaque:NO];
return cell;
}