Apply fade effect to top and bottom of UICollectionView

前端 未结 1 1201

I\'ve read examples around here but I cannot do it the way I desire, somehow my gradient examples are stuck on the middle of the screen, not working as expected.

I h

相关标签:
1条回答
  • 2021-01-07 10:45

    You can achieve that by changing your color line with this:

    gradient.colors = [
        UIColor(white: 1.0, alpha: 0).cgColor,
        UIColor(white: 1.0, alpha: 1).cgColor,
        UIColor(white: 1.0, alpha: 0).cgColor
    ]
    

    Or if you want to have even more control over your gradient, you can also use the code below and play around with the location and/or color alpha values:

    let gradient = CAGradientLayer()
    gradient.frame = view.bounds
    gradient.colors = [
        UIColor(white: 1, alpha: 0).cgColor,
        UIColor(white: 1, alpha: 1).cgColor,
        UIColor(white: 1, alpha: 1).cgColor,
        UIColor(white: 1, alpha: 0).cgColor
    ]
    gradient.locations = [0, 0.4, 0.6, 1]
    view.layer.mask = gradient
    

    Reason of this from the documentation;

    An optional layer whose alpha channel is used to mask the layer’s content.

    The layer’s alpha channel determines how much of the layer’s content and background shows through. Fully or partially opaque pixels allow the underlying content to show through but fully transparent pixels block that content.

    0 讨论(0)
提交回复
热议问题