CollectionView背景clearColor无法正常工作

neb*_*uto 35 ios uibackgroundcolor uicollectionview

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

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

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

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

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

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

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

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

Kyl*_*son 91

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

在此输入图像描述


Fog*_*ter 47

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

self.collectionView.backgroundColor = [UIColor clearColor];
self.collectionView.backgroundView = [[UIView alloc] initWithFrame:CGRectZero];
Run Code Online (Sandbox Code Playgroud)

  • 谢谢Fogmeister.或者可以设置collectionView.backgroundView.backgroundColor = [UIColor clearColor] (5认同)
  • 只需使用零背景视图.不要打扰空白:self.collectionView!.backgroundView = nil (3认同)
  • @JoelTeply谢谢,我会让我的两年半前自己知道. (2认同)

neb*_*uto 10

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


Dan*_*Ell 7

在Storyboard中设置UICollectionView的背景颜色时要小心:

最初选择的值DefaultBlack(违反直觉).
您必须明确选择" 清除颜色"才能使视图透明.

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