有这么一个关于用户体验的需求,我想把一个自定义的View显示的时候达到从中间向左右两侧alpha值逐渐减小(即透明度逐渐增加)的效果。类似下图这种文字消失的感觉:

这里是MarqueeLabel类库中实现的效果,其原理大概是利用了CALayer中的mask遮罩,但是自己从来没有接触过,求大神讲解改效果是如何实现的。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
用一个:
CAGradientLayer()设置好渐变内容及方向注意:渐变头尾都是
clearColor(),中间可以随意,不透明即可。这个例子中,可以是这样:
位置:
[0, 0.05, 1]颜色:
[clearColor, whiteColor, whiteColor]起始点:
[0,0.5] -> [1,0.5]表示自定的UILabel或者View,添加设置
layer.mask = gradientLayer即可