UICollectionViewCell - сделать selectedBackgroundView больше, чем сама ячейка

Я пытаюсь найти способ сделать мой 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 больше, чем ячейка? Я здесь совершенно неверен?

1 ответ

Решение

Как я тестировал, 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;
}
Другие вопросы по тегам