UIButton topLeft& bottomLeft radius未正确显示

时间:2015-09-13 20:20:56

标签: ios swift uibutton uibezierpath cashapelayer

生成带左上角和左上角的圆形按钮左下半径我使用以下代码:

    var maskPath = UIBezierPath(roundedRect: button.bounds,
        byRoundingCorners: .BottomLeft | .TopLeft,
        cornerRadii: CGSizeMake(15.0, 15.0))
    var shapeLayer:CAShapeLayer = CAShapeLayer()
    shapeLayer.frame = self.view.bounds
    shapeLayer.path  = maskPath.CGPath;
    button.layer.mask = shapeLayer;
    button.layer.borderWidth = self.borderWidth
    button.layer.borderColor = GenerateShape.UIColorFromHex(self.borderStrokeColor, alpha: (self.alphaValue-0.3)).CGColor
    button.backgroundColor = GenerateShape.UIColorFromHex(self.whiteColor, alpha: (self.alphaValue-0.3))

但我得到以下输出: enter image description here

那么为什么左上角和左上角呢?左下角是看不见的?我该怎么办才能让它们可见?感谢。

1 个答案:

答案 0 :(得分:2)

您正在使用bezier路径作为掩码。但你也不是画出你的bezier路径;您正在绘制按钮本身的矩形边框。因此,你的面具遮住了矩形边框的角落。