CollectionView背景clearColor无法正常工作

问题描述 投票:31回答:11

我正在开发一个小型的collectionview'框架',就像iPad上的浏览器标签栏(想想chrome)一样。代码全部完成,自定义流程布局,重新排序等,并按如下方式组织:

•TabBarCollectionViewController .h / .m / .xib包含集合视图的高逻辑(委托+数据源方法)。我有xib来配置collectionView设置并设置自定义流布局(我可以通过编程方式执行此操作,但是哦,这样更容易)。

•CustomFlowLayout .h / .m(流布局的子类)

•TabBar单元格.h&m / .xib(uicollectionviewcell的子类)

然后我在我的主viewController上添加TabBarCVC作为childViewController(这个viewController有很多childViewController和子视图),然后作为子视图。在这一点上,一切都在起作用。

现在问题,它是如此愚蠢我不敢相信我还没有找到办法做到这一点,collectionView的backgroundColor不能设置为clearColor。我可以把它放在灰色或任何颜色,但它不支持透明度。细胞背景颜色也很清晰,确实有效。

我需要collectionView是透明的,以显示后面主视图上的纹理。任何洞察都会非常感激,或者我可能会将我的第一个雷达填满苹果。

如果我找不到任何解决方案,我只需添加应该在collectionView后面的纹理的“屏幕截图”,并将其添加为collectionView的backgroundView中的imageView。

ios uicollectionview uibackgroundcolor
11个回答
74
投票

在我的情况下,我将故事板中的背景颜色设置为默认值。这导致它具有黑色背景。将其更改为“清除颜色”。

enter image description here


0
投票

在快速的这项工作与我:

self.collectionView.backgroundColor = UIColor(red: 1, green: 1, blue: 1, alpha: 0.0)

0
投票

做了什么来解决它

从故事板设置集合视图背景颜色作为清晰的颜色

然后将主视图颜色设置为您想要的任何颜色(我设置为白色。)


46
投票

尝试将颜色设置为清除,将背景视图设置为空视图,如此...

self.collectionView.backgroundColor = [UIColor clearColor];
self.collectionView.backgroundView = [[UIView alloc] initWithFrame:CGRectZero];

10
投票

好的,所以我现在感觉非常愚蠢。我留下了一个空的UIView,作为collectionView的容器进行测试。我只是忘了删除它,现在一切都工作正常了一个漂亮的clearColor ...


7
投票

在故事板中设置集合视图背景颜色时要小心:

最初选择的值Default为Black(违反直觉)。 您必须明确选择“清除颜色”才能使视图透明。

另请注意,当“完成”时,故事板中的预览会立即发生变化...


2
投票

Fogmeisteranswer工作得很好。适应Swift 3,它将是:

self.collectionView.backgroundColors = [NSColor.clear]
self.collectionView.backgroundView = NSView.init(frame: CGRect.zero)

2
投票

最简单的解决方案是在颜色选择器中选择任何颜色以更改collectionview背景,然后将不透明度变为0%。


1
投票

我在Swift 3中解决了它:

collectionViewVideo.backgroundColor = UIColor.clear.withAlphaComponent(0)

0
投票

要使用漂亮的半透明白色背景:

collectionView.backgroundColor = UIColor(displayP3Red: 1.0, green: 1.0, blue: 1.0, alpha: 0.35)

0
投票

来自Fogmeisteranswer的Swift 4.0

self.collectionView.backgroundColor = UIColor.clear
self.collectionView.backgroundView = UIView.init(frame: CGRect.zero)
© www.soinside.com 2019 - 2024. All rights reserved.