我希望在背景图像上淡出滚动的UITextView
,类似于这个小示例顶部的渐变。
我正在尝试弄清楚如何使用 CAGradientLayer
和蒙版来实现这一目标。当 View 中的文本滚动(垂直)时,我需要文本在到达 View 框架之前变得透明,以给人一种它向上和向下淡出的错觉。
关于如何实现这一目标有什么建议吗?
最佳答案
天啊,我经常用这个。将其保存为片段:
CAGradientLayer *gradient = [CAGradientLayer layer];
gradient.frame = self.textView.superview.bounds;
gradient.colors = @[(id)[UIColor clearColor].CGColor, (id)[UIColor blackColor].CGColor, (id)[UIColor blackColor].CGColor, (id)[UIColor clearColor].CGColor];
gradient.locations = @[@0.0, @0.03, @0.97, @1.0];
self.textView.superview.layer.mask = gradient;
此解决方案要求将 TextView 嵌入到其自己的 View 中。这会对 TextView 的顶部和底部应用 3% 的淡入淡出。根据您的需要修改 gradient.locations
。
关于ios - 在图像上淡出滚动 UITextView 吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59947050/