我想在视图上绘制一个图层。因为我写这段代码。
arcLayer=[CAShapeLayer layer];
arcLayer.frame=self.circleView.frame;
arcLayer.backgroundColor = [UIColor purpleColor].CGColor;
[self.circleView.layer addSublayer:arcLayer];
但是这个图层的位置在视图上并不精确,如下图所示。绿色的是circleView,紫色的是arc layer。
答案 0 :(得分:3)
您在此行中遇到问题:arcLayer.frame=self.circleView.frame;
。将该行更改为:
CGRect frame = self.circleView.frame;
frame.origin = CGPointZero;
arcLayer.frame=frame;
这将解决您的问题。您只是忘了将图层的来源设置为CGPointZero
或position
。
祝你好运!
答案 1 :(得分:0)
更简洁:
arcLayer.frame = self.circleView.bounds;