美文网首页大前端干货
通过CAGradientLayer给Cell添加渐变色

通过CAGradientLayer给Cell添加渐变色

作者: 2028a22daae2 | 来源:发表于2019-08-06 09:53 被阅读0次

在给Cell添加渐变色的时候,我先是将图层的生成与插入放在了cell的awakeFromNib方法中

    override func awakeFromNib() {
        super.awakeFromNib()
        // Initialization code
        self.addGradients(colors: <#T##[(startColor: UIColor, endColor: UIColor)]#>, points: <#T##[(startPoint: CGPoint, endPoint: CGPoint)]#>)
    }

然而,这样处理,造成的结果是这样的:


WechatIMG62.jpeg

emmmmm,看来awakeFromNib执行时,并不能获得当前cell正确的bounds,所以,我们将方法放进layoutSubviews中

    override func layoutSubviews() {
        //瞎写了一串
        self.addGradients(colors: [(UIColor.black, UIColor.red),(UIColor.gray, UIColor.white)], points: [(CGPoint(x: 0, y: 0.5), CGPoint(x: 0.5, y: 0.75)),(CGPoint(x: 0.75, y: 1),CGPoint(x: 1, y: 0.75))])
    }

运行一下

WechatIMG63.jpeg

正常多了

再有,不要使用frame来设置layer,尤其是在滚动视图中,会造成layer相对父layer的偏移

相关文章

  • 通过CAGradientLayer给Cell添加渐变色

    在给Cell添加渐变色的时候,我先是将图层的生成与插入放在了cell的awakeFromNib方法中 然而,这样处...

  • iOS:给View添加渐变色

    给View添加渐变色的方法有多种,这里采用CAGradientLayer来实现渐变效果。CAGradientLay...

  • iOS:给View添加渐变色

    给View添加渐变色的方法有多种,这里采用CAGradientLayer来实现渐变效果。CAGradientLay...

  • Swift: 同时给View添加阴影 渐变色 圆角

    因为渐变色是在view.layer上面添加了CAGradientLayer, 所以应该是给这个layer添加圆角和...

  • 渐变色

    //渐变色 CAGradientLayer *layer = [CAGradientLayer layer...

  • iOS CAGradienLayer

    2016.3.9 CAGradientLayer是用于处理渐变色的层结构 CAGradientLayer的渐变色可...

  • CALayer

    CAGradientLayer 渐变色遮罩 CAGradientLayer用来绘制渐变色,指定几个颜色值、渐变结束...

  • swift 渐变色

    //创建渐变色层 let gradient:CAGradientLayer = CAGradientLayer()...

  • CAGradientLayer & CAShapeLay

    CAGradientLayer:渐变色结构 属性解析: CAGradientLayer * gtLayer = ...

  • iOS图层渐变色

    概念 1,CAGradientLayer用于处理渐变色的层结构 2,CAGradientLayer的渐变色可以做隐...

网友评论

    本文标题:通过CAGradientLayer给Cell添加渐变色

    本文链接:https://www.haomeiwen.com/subject/ndnbdctx.html