我无法为UICollectionViewCell
提供与拥有它们的UICollectionView
不同的alpha版本。我看过其他一些帖子,比如this one,但没有一个对我有用。我有一个带有UICollectionView
的.xib文件,其中alpha设置为0.9,内部的单元格从另一个.xib文件加载,其alpha设置为1.0。无论我尝试过什么,UICollectionView
的alpha都优先。这些尝试包括:
func collectionView(collectionView: UICollectionView, cellForItemAtIndexPath indexPath: NSIndexPath) -> UICollectionViewCell {
let cell = collectionView.dequeueReusableCellWithReuseIdentifier("Cell", forIndexPath: indexPath) as! Cell
// Here is the first attempt
cell.alpha = 1.0
cell.contentView.alpha = 1.0
// Here is the second attempt
let attribute = UICollectionViewLayoutAttributes(forCellWithIndexPath: indexPath)
attribute.alpha = 1.0
cell.applyLayoutAttributes(attribute)
cell.setNeedsDisplay()
return cell
我希望单元格在没有透明度的情况下加载,但我希望它们的集合视图略微透明。在每个单元格上加载了一个完全不透明的独特图像。
Edit1:我尝试设置backgroundColor
的{{1}}以使用1.0 alpha进行清除,然后在我的UICollectionView
方法中为其设置自定义backgroundView
。我有一个viewDidLoad()
集合视图,用于设置以下内容:
@IBOutlet
这个DID工作。
答案 0 :(得分:0)
你不能拥有alpha!= 1的父视图及其alpa = 1的子视图,它们不能按预期工作。
通常我所做的是使用辅助视图(与集合视图相同的框架),父级(您的集合视图)视图的兄弟,并将alpha设置为X值。将集合视图背景的颜色设置为clearColor。