加载具有与其UICollectionView不同的alpha值的UICollectionViewCell

时间:2015-12-03 15:39:12

标签: ios iphone swift uicollectionview uicollectionviewcell

我无法为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工作。

1 个答案:

答案 0 :(得分:0)

你不能拥有alpha!= 1的父视图及其alpa = 1的子视图,它们不能按预期工作。

通常我所做的是使用辅助视图(与集合视图相同的框架),父级(您的集合视图)视图的兄弟,并将alpha设置为X值。将集合视图背景的颜色设置为clearColor。