Is it possible to set collection view (all items) alpha = 0.5 but header set alpha = 1.0?
2
here you can set items alpha:
override func collectionView(_ collectionView: UICollectionView, cellForItemAt indexPath: IndexPath) -> UICollectionViewCell { let cell = collectionView.dequeueReusableCell(withReuseIdentifier: "HomeCell", for: indexPath cell.alpha = 0.5 }
here you can set header alpha:
override func collectionView(_ collectionView: UICollectionView, viewForSupplementaryElementOfKind kind: String, at indexPath: IndexPath) -> UICollectionReusableView { switch kind { case UICollectionView.elementKindSectionHeader: let headerView = collectionView.dequeueReusableSupplementaryView(ofKind: kind, withReuseIdentifier: "Header", for: indexPath) headerView.backgroundColor = UIColor.blue headerView.alpha = 1.0 //by default its also 1 just showing here return headerView case UICollectionView.elementKindSectionFooter: break default: assert(false, "Unexpected element kind") } }
If your collection have some interitem or interline spacing and collection view have a background color other than clear or systemBackgroundColor, Then you need to set alpha for background color like this :
yourCollectionView.backgroundColor = UIColor.green.withAlphaComponent(0.5)
you can also use backgroundView of collectionView depending upon the need , like this :
let aView = UIView(frame: yourCollectionView.frame) aView.backgroundColor = .green aView.alpha = 0.1 yourCollectionView.backgroundView = aView
and then in cellforItemAt:
func collectionView(_ collectionView: UICollectionView, cellForItemAt indexPath: IndexPath) -> UICollectionViewCell { let cell = collectionView.dequeueReusableCell(withReuseIdentifier: "CellID", for: indexPath) cell.contentView.alpha = 0.5 return cell }
Click here to cancel reply.
2
Answers
here you can set items alpha:
here you can set header alpha:
If your collection have some interitem or interline spacing and collection view have a background color other than clear or systemBackgroundColor, Then you need to set alpha for background color like this :
you can also use backgroundView of collectionView depending upon the need , like this :
and then in cellforItemAt: