【发布时间】:2013-10-15 18:06:29
【问题描述】:
我之前使用过UIBezierPath 和CAShapeLayer。但几乎每次都与填充路径中包含的对象一起使用内部颜色。但是这次我想填充UIBezierPath所包含的对象之外的颜色。
我刚刚编写并运行了以下简单代码,试图让自己熟悉fillRule 属性:
CAShapeLayer *myLayer = (CAShapeLayer *) self.layer; //size: 320 X 480
UIBezierPath *testPath = [UIBezierPath bezierPathWithOvalInRect:(CGRect){{100, 100}, 100, 100}]; //a simple circle
myLayer.fillRule = kCAFillRuleNonZero; // have tried this as well: kCAFillRuleEvenOdd;
myLayer.path = testPath.CGPath;
myLayer.fillColor = [UIColor whiteColor].CGColor;
但是颜色仍然在里面填充。我想知道的是,如何填充路径之外的颜色?如果我在这里使用fillRule 错误,我想知道是否有其他方法可以实现这一点。提前致谢。
【问题讨论】:
标签: ios uibezierpath cashapelayer