Вот базовое решение для очистки кадра в представлении с использованием пользовательского метода drawLayer:inContext:
для вашего пользовательского класса eventView (класса, который рисует ваше событие). Конечно, вы должны наследовать класс от UIView раньше (например, MyEventViewClass).
Вы также должны установить для свойства opaque
значение NO
-(void)drawLayer:(CALayer*)layer inContext:(CGContextRef)context
{
// Fill the bg with the color you want (here it is gray)
// You can also draw an image (CGContextDrawImage:)
CGContextSetFillColorWithColor(context, [UIColor grayColor].CGColor);
CGContextFillRect(context, self.bounds);
// Then clear the frame
CGContextSetBlendMode(context, kCGBlendModeClear);
CGContextFillRect(context, frameToClear);
}
Это понятно? ;)