【问题标题】:UICollectionView 2 Different Background ColorsUICollectionView 2 不同的背景颜色
【发布时间】:2016-07-22 11:34:41
【问题描述】:

如果用户向下滚动(基本上是在它弹起时),我会尽量避免我的 collectionview 单元格顶部的白色背景颜色。所以在我的单元格顶部只有可见的collectionview背景颜色。但如图所示,我需要 2 种不同的颜色。对于第一部分,背景应该是蓝色的,因此间隙不是白色而是蓝色,而对于其他部分,它应该保持白色。所以我想要的是白色的间隙会变成蓝色而不改变我的 uicollectionview 的完整背景色。

【问题讨论】:

  • 不了解您的视图层次结构,但您可以尝试在此 self.view.backgroundColor 或此 self.collectionView.superview.backgroundColor 上设置蓝色。
  • 这不起作用,因为collectionview占用了整个屏幕大小。并且具有白色背景颜色,因此从超级视图中看不到任何内容。
  • 为什么不给collectionView设置蓝色背景颜色,然后单独更改部分?
  • 因为那时我在底部有同样的问题。间隙是蓝色的,但底部应该保持白色!

标签: ios swift uicollectionview


【解决方案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 适当计算框架即可
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-07-13
  • 2018-11-18
  • 2015-11-09
相关资源
最近更新 更多