2013-05-21 68 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

你是我正在发现以及... –

相关问题