如何在不影响UICollectionViewCell的不透明度的情况下在UICollectionView背景上设置不透明度?

时间:2015-07-01 21:03:58

标签: ios objective-c

我已将UICollectionView的颜色设置为image,如下所示:

self.collectionView.backgroundColor = [UIColor colorWithPatternImage:image];

我想设置collectionView的alpha而不影响UICollectionViewCell的alpha。有没有办法做到这一点?设置collectionView的alpha也会影响UICollectionViewCell,所以我已经尝试过了。我还应该尝试什么/其他什么才能真正起作用?

感谢您的任何提示。

3 个答案:

答案 0 :(得分:5)

使用Map的{​​{1}}方法:

-colorWithAlphaComponent:

这将导致背景具有非1 alpha值。

答案 1 :(得分:3)

如果您只想更改不透明度而不更改颜色或需要跟踪颜色本身,您可以使用:

self.collectionView.backgroundColor = [self.collectionView.backgroundColor colorWithAlphaComponent:0.5f];

有两种可能的"背景"在UICollectionView您可能想要更改不透明度。 backgroundColor属性是最简单的,但只更改完整的颜色背景。如果您只是更改背景颜色不透明度,那么backgroundView也可以包含不会改变不透明度的子视图。您可以使用以下内容更改backgroundView的不透明度

self.collectionView.backgroundView.alpha = 0.5f;

答案 2 :(得分:0)

Swift 4解决方案:

self.contentView.backgroundColor = UIColor.gray.withAlphaComponent(0.5)