我目前使用CAShapeLayer作爲我的一項要求。我成功實現了fillcolor
,strokecolor
等等,但是我想改變CAShapeLayer外部的顏色。我試着用backgroundcolor
,&這樣做,結果跟着SO的很多答案,但無法做到。任何人都可以引導我解決方案。截圖附iOS:CAShapeLayer,改變外層的顏色
編輯1:代碼用於創建層
// create layer mask for map
CAShapeLayer *maskLayer = [CAShapeLayer layer];
mapView.layer.mask = maskLayer;
// maskLayer.backgroundColor = [[UIColor colorWithRed:0.0 green:0.0 blue:0.0 alpha:0.7] CGColor];
self.maskLayer = maskLayer;
// create shape layer for circle we'll draw on top of map (the boundary of the circle)
CAShapeLayer *circleLayer = [CAShapeLayer layer];
circleLayer.lineWidth = 3.0;
circleLayer.fillColor = [[UIColor clearColor] CGColor];
circleLayer.strokeColor = [[UIColor blackColor] CGColor];
// circleLayer.borderColor = [[UIColor blackColor] CGColor];
// circleLayer.backgroundColor = [[UIColor colorWithRed:0.0 green:0.0 blue:0.0 alpha:0.7] CGColor];
[mapView.layer addSublayer:circleLayer];
self.circleLayer = circleLayer;
編輯2:Xcode的查看器的調試器
在上述圖像I可以看到,我已經設置了背景色爲self.view
。但我希望它能夠覆蓋我的地圖視圖&顏色應該是半透明的,這樣圈外的地圖數據也應該可見。
你目前的代碼是什麼? – Larme
@Larme:只需在一分鐘內更新 – iYoung
我想你會在視圖圖層上添加形狀圖層。如果您爲該視圖圖層設置顏色,我希望它可以工作。 – Exploring