0
我試圖將圖像裁剪爲不規則形狀,但我需要將該區域移除爲透明。的UIView使用CALayers使遮罩區域周圍變得透明?
CALayer *myLayer = [CALayer layer];
CAShapeLayer *mask = [CAShapeLayer layer];
myLayer.frame = self.bounds;
myLayer.contents = (id)[self.picture CGImage];
mask.path = path;
myLayer.mask = mask;
[self.layer addSublayer:myLayer];
此的
內的子類會適當地裁剪圖像,但是視圖的背景顏色是白色,因此仍然可見。我試圖讓其他圖層透明,但它沒有奏效。
(個體經營和子視圖都指向同一個視圖)
[self layer].backgroundColor = [UIColor clearColor].CGColor //no change
[self layer].opacity = 0; //makes entire view transparent
subView.backgroundColor = [UIColor clearColor]; // entire view becomes transparent
是否有可能創造我想要達到什麼效果?
將邏輯放在init與drawrect之間有沒有區別?礦井不正確;這是我目前看到的唯一區別。 – Mahir 2013-04-27 15:16:05
我會測試自己,但我目前沒有訪問我的代碼 – Mahir 2013-04-27 15:16:58
這段代碼不應該在'drawRect:'中。 'drawRect:'意味着像CGPath's等Core Graphics繪圖代碼。將代碼放在'initWithFrame:'中,看它是否有效。 – kmikael 2013-04-27 23:29:25