在Objective C中,下面的代码可以工作。
CAShapeLayer *shapeLayer = [CAShapeLayer layer];
我试图在swift中转换它。但是,错误抛出说CAShapeLayer没有一个名为" layer"
的成员var shapeLayer:CAShapeLayer = CAShapeLayer().layer
或者
CAShapeLayer().layer
获取图层的替代方法吗?
由于
答案 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
...