CollectionView背景clearColor不起作用
我正在开发一个小的collectionview“框架”,在iPad上performance得像一个浏览器标签栏(think chrome)。 代码全部完成,自定义stream程布局,重新sorting等等,并按以下方式组织:
•TabBarCollectionViewController .h / .m / .xib包含集合视图的高逻辑(代表+数据源方法)。 我有xibconfigurationcollectionView设置,并设置自定义stream布局(我可以这样做编程,但哦,这很容易)。
CustomFlowLayout .h / .m(stream布局的子类)
•TabBarCell.h / .m / .xib(collectionviewcell的子类)
然后我添加TabBarCVC作为一个childViewController在我的主视图控制器(这个viewController有很多childViewController和子视图),然后作为子视图。 在这一点上,所有的工作fiiiiine。
现在的问题,这是如此愚蠢,我不能相信我还没有find一种方法来做到这一点, collectionView的backgroundColor不能设置为clearColor 。 我可以把它放在灰色或任何颜色,但它不支持透明度。 单元格的背景颜色也很清晰并且可以工作。
我需要collectionView透明来显示背后的主视图的纹理。 任何有识之士都会非常感激,或者我会把我的第一个雷达填充到苹果。
如果我找不到任何解决scheme,我只需添加应该在collectionView后面的纹理“截图”,并将其添加为collectionView的backgroundView中的imageView。
在我的情况下,故事板中的背景颜色设置为“默认”。 这导致它有一个黑色的背景。 将其更改为“清除颜色”。
尝试设置颜色清除和背景视图像这样的空视图…
self.collectionView.backgroundColor = [UIColor clearColor]; self.collectionView.backgroundView = [[UIView alloc] initWithFrame:CGRectZero];
好,所以我现在感觉很蠢。 我留下了一个空的UIView,作为collectionView的一个容器进行testing。 我只是忘了删除它,一切都很好,现在有一个很好的clearColor …
在Storyboard中设置UICollectionView的背景颜色时要小心 :
最初select的值默认为黑色 (违背直觉)。
您必须明确地select清除颜色的视图是透明的。
另外请注意,当“完成”完成后,故事板中的预览立即发生变化…
我在Swift 3中解决了它:
collectionViewVideo.backgroundColor = UIColor.clear.withAlphaComponent(0)
Fogmeister的回答非常好。 适应Swift 3,它将是:
self.collectionView.backgroundColors = [NSColor.clear] self.collectionView.backgroundView = NSView.init(frame: CGRect.zero)
有一个很好的半透明的白色背景使用:
collectionView.backgroundColor = UIColor(displayP3Red: 1.0, green: 1.0, blue: 1.0, alpha: 0.35)