是否可以用颜色创建这样的UIView填充,但是中间是透明的?

我正在考虑在此处创建 5 UIView。只想知道是否可以仅使用一个UIView完成

最佳答案

通过Duncan C,我知道应该从哪里开始,然后找到CALayer with transparent hole in it

UIBezierPath *overlayPath = [UIBezierPath bezierPathWithRect:self.view.bounds];
UIBezierPath *transparentPath = [UIBezierPath bezierPathWithRect:CGRectMake(60, 120, 200, 200)];
[overlayPath appendPath:transparentPath];
[overlayPath setUsesEvenOddFillRule:YES];

CAShapeLayer *fillLayer = [CAShapeLayer layer];
fillLayer.path = overlayPath.CGPath;
fillLayer.fillRule = kCAFillRuleEvenOdd;
fillLayer.fillColor = [UIColor colorWithRed:255/255.0 green:20/255.0 blue:147/255.0 alpha:1].CGColor;

[self.view.layer addSublayer:fillLayer];

使用2 UIBezierPath,然后填充我想要的颜色(在我的问题中是粉红色),然后添加为子层

07-25 23:04