Luk*_*uke 22 core-graphics ios cagradientlayer
我希望淡出滚动UITextView
背景图像,类似于这个小例子顶部的渐变.
我正试图弄清楚如何使用CAGradientLayer
和掩饰来实现这一点.当视图中的文本滚动(垂直)时,我需要文本在它到达视图框架之前变得透明,以给出它向上和向下淡出的幻觉.
有关如何实现这一目标的任何提示?
duc*_*i9y 40
哦,伙计,我经常使用它.将它保存为片段:
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;
Run Code Online (Sandbox Code Playgroud)
此解决方案要求将文本视图嵌入到自己的视图中.这会将3%的淡入淡出应用于文本视图的顶部和底部.修改gradient.locations
您的需求.
我从这个线程的其他人那里得到了启发,但是已经将代码转换为Swift并使用了起点和终点,在底部创建了一个渐变.
if let containerView = textView.superview {
let gradient = CAGradientLayer(layer: containerView.layer)
gradient.frame = containerView.bounds
gradient.colors = [UIColor.clearColor().CGColor, UIColor.blueColor().CGColor]
gradient.startPoint = CGPoint(x: 0.0, y: 1.0)
gradient.endPoint = CGPoint(x: 0.0, y: 0.85)
containerView.layer.mask = gradient
}
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
5036 次 |
最近记录: |