37

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

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

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

• TabBarCell .h/.m/.xib(collectionviewcell 的子类)

然后我将 TabBarCVC 作为 childViewController 添加到我的主 viewController 上(这个 viewController 有很多 childViewController 和子视图),然后作为子视图。此时一切正常。

现在的问题,太愚蠢了,我不敢相信我还没有找到办法,collectionView 的 backgroundColor 不能设置为 clearColor。我可以将其设置为灰色或任何颜色,但它不支持透明度。单元格背景颜色也很清晰并且确实有效。

我需要 collectionView 是透明的,以便在后面的主视图上显示纹理。任何见解将不胜感激,或者我可能会将我的第一个雷达填满苹果。

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

4

11 回答 11

97

就我而言,我将情节提要中的背景颜色设置为默认值。这导致它具有黑色背景。将其更改为清除颜色有效。

在此处输入图像描述

于 2015-10-16T06:35:23.910 回答
49

尝试将颜色设置为清除并将背景视图设置为空视图,如下所示......

self.collectionView.backgroundColor = [UIColor clearColor];
self.collectionView.backgroundView = [[UIView alloc] initWithFrame:CGRectZero];
于 2013-05-15T16:30:19.487 回答
10

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

于 2013-05-15T22:47:11.117 回答
7

在 Storyboard 中设置UICollectionView的背景颜色时要注意:

最初选择的默认值黑色(违反直觉)。
您必须明确选择清除颜色才能使视图透明。

另请注意,“正确”完成后,情节提要中的预览会立即更改...

于 2016-06-12T16:37:08.180 回答
2

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

于 2018-08-22T03:43:25.203 回答
1

我在 Swift 3 中使用解决了它:

collectionViewVideo.backgroundColor = UIColor.clear.withAlphaComponent(0)
于 2017-06-09T11:19:58.970 回答
1

Fogmeister回答效果很好。适应 Swift 3,它将是:

self.collectionView.backgroundColors = [NSColor.clear]
self.collectionView.backgroundView = NSView.init(frame: CGRect.zero)
于 2017-08-12T06:41:40.203 回答
1

Fogmeister回答中的Swift 4.0

self.collectionView.backgroundColor = UIColor.clear
self.collectionView.backgroundView = UIView.init(frame: CGRect.zero)
于 2018-01-18T14:03:35.043 回答
0

要获得漂亮的半透明白色背景,请使用:

collectionView.backgroundColor = UIColor(displayP3Red: 1.0, green: 1.0, blue: 1.0, alpha: 0.35)
于 2017-11-23T18:38:08.620 回答
0

迅速与我合作:

self.collectionView.backgroundColor = UIColor(red: 1, green: 1, blue: 1, alpha: 0.0)
于 2018-02-27T09:18:46.577 回答
0

做了什么来解决它

从情节提要中将集合视图背景颜色设置为清晰颜色

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

于 2018-07-17T12:34:59.440 回答