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;
}