我有两个相互靠近的uibutton。我想通过左上角左上角和左下角以及右上角右上角和右下角来使它们看起来很合适。
我已经看到了几种解决方案,但我所看到的只是打破了按钮背后的uieffect视图。
答案 0 :(得分:2)
你可以这样做:
UIBezierPath *maskPath = [UIBezierPath bezierPathWithRoundedRect:self.viewOutlet.bounds byRoundingCorners:(UIRectCornerTopLeft | UIRectCornerBottomLeft | UIRectCornerBottomRight) cornerRadii:CGSizeMake(10.0, 10.0)];
CAShapeLayer *maskLayer = [[CAShapeLayer alloc] init];
maskLayer.frame = self.view.bounds;
maskLayer.path = maskPath.CGPath;
self.viewOutlet.layer.mask = maskLayer;
<强>更新强>
如果您需要边框,只需创建另一个CAShapeLayer
并将其添加到查看的图层作为子图层。像这样(将此代码放在上面的代码下面):
CAShapeLayer *borderLayer = [[CAShapeLayer alloc] init];
borderLayer.frame = self.view.bounds;
borderLayer.path = maskPath.CGPath;
borderLayer.lineWidth = 4.0f;
borderLayer.strokeColor = [UIColor blackColor].CGColor;
borderLayer.fillColor = [UIColor clearColor].CGColor;
[self.viewOutlet.layer addSublayer:borderLayer];