Я хотел бы создать UIView, который имеет закругленные углы в верхнем левом и верхнем правом углу.Уровень UIView не правильно маскируется
Для этого я хотел бы скрыть UIView с помощью CAShapeLayer.
Это код, я использую:
UIBezierPath *maskPath = [UIBezierPath bezierPathWithRoundedRect:self.menuContainerView.bounds
byRoundingCorners:UIRectCornerTopLeft | UIRectCornerTopRight
cornerRadii:CGSizeMake(20.0, 20.0)];
CAShapeLayer *maskLayer = [[CAShapeLayer alloc] init];
maskLayer.frame = self.menuContainerView.bounds;
maskLayer.path = maskPath.CGPath;
self.menuContainerView.layer.mask = maskLayer;
Однако, когда я запускаю этот код, оказывается, что маска не имеет никакого эффекта. Любые идеи, почему бы и нет?
Для маскировки путь может использоваться только для одного вида. Если вы хотите его на нескольких представлениях, вы можете просто переделать путь (даже используя одну и ту же переменную), а затем добавить это к другому представлению. Я тоже нашел это. – Putz1103