对于UIView透明渐变显示

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

图片描述

这里是MarqueeLabel类库中实现的效果,其原理大概是利用了CALayer中的mask遮罩,但是自己从来没有接触过,求大神讲解改效果是如何实现的。

阅读 13k
1 个回答

用一个:CAGradientLayer() 设置好渐变内容及方向
注意:渐变头尾都是clearColor(),中间可以随意,不透明即可。
这个例子中,可以是这样:
位置:[0, 0.05, 1]
颜色:[clearColor, whiteColor, whiteColor]
起始点:[0,0.5] -> [1,0.5] 表示
自定的UILabel或者View,添加设置 layer.mask = gradientLayer 即可

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题