CAShapeLayer类的方法" layer"在Swift中不可用

时间:2015-03-12 14:57:38

标签: ios swift cashapelayer

在Objective C中,下面的代码可以工作。

CAShapeLayer  *shapeLayer = [CAShapeLayer layer];

我试图在swift中转换它。但是,错误抛出说CAShapeLayer没有一个名为" layer"

的成员
var shapeLayer:CAShapeLayer = CAShapeLayer().layer

或者

CAShapeLayer().layer

获取图层的替代方法吗?

由于

2 个答案:

答案 0 :(得分:8)

我认为CAShapeLayer()已经返回了CAShapeLayer的一个实例,所以这个

  var shapeLayer : CAShapeLayer = CAShapeLayer()
    //customize your layer
    shapeLayer.fillColor = UIColor.redColor().CGColor
    self.layer.insertSublayer(shape, atIndex: 0)

应该有用。

答案 1 :(得分:5)

相当于

CAShapeLayer *shapeLayer = [CAShapeLayer layer];
Swift中的

只是

var shapeLayer = CAShapeLayer()

然后你可以做

shapeLayer.frame = self.bounds
shapeLayer.lineWidth = 3.0
...