我正在尝试为一个处理地理地图的iOS项目使用SVGKit (https://github.com/SVGKit/SVGKit)。
此时,我可以使用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和一个掩码。
我到底该怎么做呢?
谢谢你的建议。
发布于 2012-12-27 02:12:49
当您找到CALayer时,将其转换为CAShapeLayer (如果可以;如果您有正确的层,这应该可以很好地工作)。
if( [layer isKindOfClass:[CAShapeLayer class]] )
{
CAShapeLayer* shapeLayer = (CAShapeLayer*) layer;
// Now you have access to lots more Apple methods
}然后你可以改变线条的宽度,填充颜色,等等--所有时髦的东西。
还可以看看CALayer.shadow* -苹果的各种功能,可以自动高亮显示图层的可见部分。
https://stackoverflow.com/questions/13928800
复制相似问题