首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >CALayer裁剪

CALayer裁剪
EN

Stack Overflow用户
提问于 2019-06-06 17:15:56
回答 1查看 92关注 0票数 0

我有一个CALayer,配置如下:

代码语言:javascript
复制
private func setup() {

    guard let theLayer = self.layer as? CAGradientLayer else {
        return;
    }


    theLayer.colors = [UIColor.red.cgColor, UIColor.blue.cgColor] 
    theLayer.locations = [0.0, 1.0]
    theLayer.startPoint = CGPoint(x: 0, y: 0)
    theLayer.endPoint = CGPoint(x: 1, y: 0)
    theLayer.frame = self.bounds

}

我想根据用户输入值(在下面的代码中称为' value‘)将其裁剪到一个rect。我该怎么做呢?

代码语言:javascript
复制
override func draw(_ rect: CGRect) {
    // Drawing code
        let frame = CGRect(x: 0, y: 0, width: rect.width, height: rect.height * (1-value))

   // How to clip or mask self.layer to above frame? 
}
EN

回答 1

Stack Overflow用户

发布于 2019-07-01 07:46:47

将该层嵌入到具有适当frame的容器层中,并将其masksToBounds属性设置为true

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56474463

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档