2013-05-21 3 views
2

Это невозможно?Почему я не могу добавить маску в контентный просмотр UITableViewCell?

Я попытался это:

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

ya, что было опечаткой спасибо –

ответ

1

Это сработало для меня, если я взял «contentView» из ваших последних двух строк кода. Я не знаю, почему это работает, возможно, вы не можете замаскировать представление контента?

+0

Я это то, что я тоже обнаруживаю ... –

Смежные вопросы