我正在尝试为 UIView 创建一个名为“CoverView”的自定义形状。
目前我将框架设置为...
[CoverView setFrame:CGRectMake(0, 0, 1808, 303)];
我想为 UIView 创建一个自定义形状,以便从 UIView 的顶部中间切出 200x200。基本上,剪切的帧将是 (804, 0, 200, 200)。
任何帮助将不胜感激。
我正在尝试为 UIView 创建一个名为“CoverView”的自定义形状。
目前我将框架设置为...
[CoverView setFrame:CGRectMake(0, 0, 1808, 303)];
我想为 UIView 创建一个自定义形状,以便从 UIView 的顶部中间切出 200x200。基本上,剪切的帧将是 (804, 0, 200, 200)。
任何帮助将不胜感激。
我能够为 CoverView 创建一个遮罩,它在视觉上创建了我正在寻找的内容,但是由于 CoverView 仍在它们上方,因此无法按下视图遮罩下可以看到的任何按钮。代码如下。有什么建议可以使用视图孔中的按钮吗?
CGMutablePathRef maskPath = CGPathCreateMutable();
CGPathMoveToPoint(maskPath, NULL, 0, 0);
CGPathAddLineToPoint(maskPath, NULL, 804, 0);
CGPathAddLineToPoint(maskPath, NULL, 804, 200);
CGPathAddLineToPoint(maskPath, NULL, 1004, 200);
CGPathAddLineToPoint(maskPath, NULL, 1004, 0);
CGPathAddLineToPoint(maskPath, NULL, 1808, 0);
CGPathAddLineToPoint(maskPath, NULL, 1808, 303);
CGPathAddLineToPoint(maskPath, NULL, 0, 303);
CGPathAddLineToPoint(maskPath, NULL, 0, 0);
CGPathCloseSubpath(maskPath);
CAShapeLayer *maskLayer = [CAShapeLayer layer];
maskLayer.frame = CoverView.bounds;
maskLayer.path = maskPath;
CoverView.layer.mask = maskLayer;