更改UICollectionView单元格的alpha值无法正常工作

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了更改UICollectionView单元格的alpha值无法正常工作相关的知识,希望对你有一定的参考价值。

我想点击UICollectionView的单元格,单元格变为半透明。

    - (void)collectionView:(UICollectionView *)collectionView
didSelectItemAtIndexPath:(NSIndexPath *)indexPath
{
    GLEpisodeCell *cell=[collectionView dequeueReusableCellWithReuseIdentifier:[GLEpisodeCell identifier] forIndexPath:indexPath];//GLEpisodeCell is subclass of UICollectionViewCell
    cell.alpha=0.5;
    cell.contentView.alpha=0.5;
}

但这不起作用。细胞仍然不透明。

答案

尝试这样可能会对你有所帮助。

- (void)collectionView:(UICollectionView *)collectionView
didSelectItemAtIndexPath:(NSIndexPath *)indexPath
{
    GLEpisodeCell *cell=[collectionView cellForItemAtIndexPath:indexPath];//GLEpisodeCell is subclass of UICollectionViewCell
    cell.alpha=0.5;
    cell.contentView.alpha=0.5;
}
另一答案

布局设置alpha。要覆盖,请将其放在您的单元格子类中:

override func apply(_ layoutAttributes: UICollectionViewLayoutAttributes) {
    alpha = 0.5
}

您还必须为新创建的单元格设置alpha。

另一答案

cell.backgroundColor = [UIColor colorWithRed:1 green:1 blue:1 alpha:0.5];

这将创建单元格的背景颜色为50%的透明度,而不是单元格的内容。如果你想要那么你想要的那样。 cell.backgroundView.alpha = 0.5;

以上是关于更改UICollectionView单元格的alpha值无法正常工作的主要内容,如果未能解决你的问题,请参考以下文章

选中时更改 UICollectionView 单元格的背景和标签颜色

更改UICollectionView单元格的alpha值无法正常工作

swift: uicollectionview 在过渡期间更改单元格的 contentoffset

以编程方式声明的 UICollectionView 不会更改 Swift 5 中单元格的大小

如何根据我放入 UITextbox 的文本量来更改 UICollectionView 单元格的垂直大小?

当边界 UICollectionView 更改时调整单元格大小