2013-05-21 106 views
2

這不可能嗎?爲什麼我無法將遮罩添加到UITableViewCell的contentView?

我已經試過這樣:

UIBezierPath *maskPath; 
maskPath = [UIBezierPath bezierPathWithRoundedRect:CGRectMake(20, 20, 200, 30) byRoundingCorners:(UIRectCornerTopRight | UIRectCornerTopLeft) cornerRadii:CGSizeMake(8.0, 8.0)]; 

CAShapeLayer *maskLayer = [[CAShapeLayer alloc] init]; 
maskLayer.frame = self.bounds; 
maskLayer.path = maskPath.CGPath; 
maskLayer.fillColor = [UIColor blackColor].CGColor; 

self.contentView.layer.mask = maskLayer; 
self.contentView.layer.masksToBounds = YES; 

並沒有任何反應。但是,如果在contentView的另一個視圖上執行相同的操作,則該遮罩將按預期工作。是什麼賦予了?

+0

我不知道你的問題的答案,但我想指出,你似乎沒有將self.maskLayer分配給您在代碼片段中初始化的maskLayer。我想這可能會導致一些奇怪的錯誤。 –

+0

雅,這是一個錯字感謝 –

回答

1

如果我從最後兩行代碼中取出「contentView」,它對我有用。我不知道這是爲什麼起作用,也許你不能掩蓋內容視圖?

+0

你是我正在發現以及... –

相關問題