我正在研究。并CAShapeLayer
试图绘制非线性路径。我想将框架设置为CAShapeLayer
。所以我可以使用CGPathGetPathBoundingBox
方法从CGPathRef
.
这是代码:
CGMutablePathRef path = CGPathCreateMutable();
CGPathAddArc(path, NULL, rect.size.width/2, rect.size.height/2, 100, (0), (M_PI_2), NO);
CGPathAddArc(path, NULL, rect.size.width/2, rect.size.height/2, 100-50, (M_PI_2), (0), YES);
CGPathCloseSubpath(path);
CAShapeLayer* arcLayer = [[CAShapeLayer alloc]init];
arcLayer.path = path;
arcLayer.frame = CGPathGetPathBoundingBox(path);
arcLayer.bounds = CGPathGetPathBoundingBox(path);
[self.layer addSublayer:arcLayer]; `
请仔细参考我的代码。我已经为 CAShapeLayer 设置了相同的框架和边界。我的问题是如果我没有设置边界(与框架相同),那么它不会显示我的内容或者它不会在框架内显示我的内容。为什么?请帮助我。谢谢。