我正在尝试为UIView创建一个名为“CoverView”的自定义形状。
目前我将框架设置为...
[CoverView setFrame:CGRectMake(0, 0, 1808, 303)];
我想为UIView创建一个自定义形状,从UIView的顶部中间切出200x200。基本上,切出的框架为(804,0,200,200)。
非常感谢任何帮助。
答案 0 :(得分:2)
我能够为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;