仅取消UIButton的左侧而不删除uieffect

时间:2016-08-06 07:52:01

标签: ios objective-c uibutton

我有两个相互靠近的uibutton。我想通过左上角左上角和左下角以及右上角右上角和右下角来使它们看起来很合适。

我已经看到了几种解决方案,但我所看到的只是打破了按钮背后的uieffect视图。

1 个答案:

答案 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;

enter image description here

<强>更新
如果您需要边框,只需创建另一个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];

enter image description here