是否可以用颜色创建这样的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
,然后填充我想要的颜色(在我的问题中是粉红色),然后添加为子层