UICollectionViewCell -- 使 selectedBackgroundView 大于单元格本身
UICollectionViewCell -- make selectedBackgroundView bigger than cell itself
我正在想办法让我的单元格 selectedBackgroundView 大于单元格本身。
我的以下方法旨在制作 selectedBackgroundView:
单元格的超级视图宽度(屏幕的整个宽度)X 单元格的高度
UIView *bg = [[UIView alloc] initWithFrame:CGRectMake(0, 0, CGRectGetWidth(self.superview.frame), CGRectGetHeight(cell.frame))];
bg.backgroundColor = [UIColor redColor];
cell.selectedBackgroundView = bg;
选中此单元格时,背景色仅在单元格范围内延伸(不超过父视图的高度)
如何才能最好地使 selectedBackgroundView 大于单元格?我在这里采取了完全错误的方法吗?
根据我的测试,selectedBackgroundView
的框架是恒定的,您的 bg
的宽度变化不起作用。
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath{
UITableViewCell * cell = [tableView cellForRowAtIndexPath: indexPath];
CGRect f = CGRectMake(0, 0, cell.frame.size.width, cell.frame.size.height);
f.size.height += 20;
f.origin.y -= 10;
UIView *bg = [[UIView alloc] initWithFrame: f];
bg.backgroundColor = [UIColor redColor];
[cell.contentView addSubview: bg];
cell.contentView.clipsToBounds = false;
}
我正在想办法让我的单元格 selectedBackgroundView 大于单元格本身。
我的以下方法旨在制作 selectedBackgroundView: 单元格的超级视图宽度(屏幕的整个宽度)X 单元格的高度
UIView *bg = [[UIView alloc] initWithFrame:CGRectMake(0, 0, CGRectGetWidth(self.superview.frame), CGRectGetHeight(cell.frame))];
bg.backgroundColor = [UIColor redColor];
cell.selectedBackgroundView = bg;
选中此单元格时,背景色仅在单元格范围内延伸(不超过父视图的高度)
如何才能最好地使 selectedBackgroundView 大于单元格?我在这里采取了完全错误的方法吗?
根据我的测试,selectedBackgroundView
的框架是恒定的,您的 bg
的宽度变化不起作用。
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath{
UITableViewCell * cell = [tableView cellForRowAtIndexPath: indexPath];
CGRect f = CGRectMake(0, 0, cell.frame.size.width, cell.frame.size.height);
f.size.height += 20;
f.origin.y -= 10;
UIView *bg = [[UIView alloc] initWithFrame: f];
bg.backgroundColor = [UIColor redColor];
[cell.contentView addSubview: bg];
cell.contentView.clipsToBounds = false;
}