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

CAShapeLayer class's method "layer" is not available in Swift

在 Objective C 中,下面的代码有效。

CAShapeLayer  *shapeLayer = [CAShapeLayer layer];

我正在尝试在 swift 中进行相同的转换。但是,错误抛出说 CAShapeLayer 没有名为 "layer"

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

CAShapeLayer().layer

获取层的任何替代方法?

谢谢

我认为 CAShapeLayer() 已经 returns CAShapeLayer 的一个实例所以这个

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

应该可以。

相当于

CAShapeLayer *shapeLayer = [CAShapeLayer layer];

在 Swift 中只是

var shapeLayer = CAShapeLayer()

那你可以做

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