我正在尝试使用SVGKit(https://github.com/SVGKit/SVGKit)来处理处理地理地图的iOS项目。
此时,我可以使用CALayer对象访问地图上的特定区域。这让我可以访问该区域周围的矩形。
以下是我用于此的代码:
CALayer *layer=[svgView.document layerWithIdentifier:@"myLayerID"];
[layer setBackgroundColor:[UIColor orangeColor].CGColor];
if( [layer isKindOfClass:[CAShapeLayer class]] )
{
CAShapeLayer* shapeLayer = (CAShapeLayer*) layer;
NSLog(@"That is good so far!");
layer.mask=shapeLayer;
}
但我需要访问地图的精确区域;不仅是周围的矩形,为了突出它。 我有点读过我应该使用CGPathRef和一个掩码。
我怎么能这样做?
感谢任何提示。
答案 0 :(得分:0)
当您找到CALayer时,将其投射到CAShapeLayer(如果可以;如果您有正确的图层,这应该可以正常工作)。
if( [layer isKindOfClass:[CAShapeLayer class]] )
{
CAShapeLayer* shapeLayer = (CAShapeLayer*) layer;
// Now you have access to lots more Apple methods
}
然后你可以选择线宽,填充颜色等 - 各种时髦的东西。
另请参阅CALayer.shadow * - Apple的各种功能,它们会自动将图层的可见部分变暗。