UICollectionView 2 不同的背景颜色
Posted
技术标签:
【中文标题】UICollectionView 2 不同的背景颜色【英文标题】:UICollectionView 2 Different Background Colors 【发布时间】:2016-07-22 11:34:41 【问题描述】:如果用户向下滚动(基本上是在它弹起时),我会尽量避免我的 collectionview 单元格顶部的白色背景颜色。所以在我的单元格顶部只有可见的collectionview背景颜色。但如图所示,我需要 2 种不同的颜色。对于第一部分,背景应该是蓝色的,因此间隙不是白色而是蓝色,而对于其他部分,它应该保持白色。所以我想要的是白色的间隙会变成蓝色而不改变我的 uicollectionview 的完整背景色。
【问题讨论】:
不了解您的视图层次结构,但您可以尝试在此self.view.backgroundColor
或此 self.collectionView.superview.backgroundColor
上设置蓝色。
这不起作用,因为collectionview占用了整个屏幕大小。并且具有白色背景颜色,因此从超级视图中看不到任何内容。
为什么不给collectionView
设置蓝色背景颜色,然后单独更改部分?
因为那时我在底部有同样的问题。间隙是蓝色的,但底部应该保持白色!
【参考方案1】:
您可以通过在您的 UICollectionView 或 UITableView 顶部添加一个视图来实现所需的效果 - 它将与内容一起滚动并作为背景的一部分出现。
override func viewDidLoad()
super.viewDidLoad()
let topView = UIView(frame: CGRect(x: 0, y: -collectionView!.bounds.height,
width: collectionView!.bounds.width, height: collectionView!.bounds.height))
topView.backgroundColor = .blackColor()
collectionView!.addSubview(topView)
【讨论】:
@maxkonovalov 你会如何为底部区域做这个? @skyguy 从未尝试过,但我认为同样的方法应该没问题,只需根据contentSize
适当计算框架即可以上是关于UICollectionView 2 不同的背景颜色的主要内容,如果未能解决你的问题,请参考以下文章
当用户滚动到不同的页面时,如何在“UICollectionView”的不同背景颜色之间淡化?
请问怎么设置Excel单元格底色,要每一行用不同的颜色区分开来