Helo家伙我找到How to create rounded UIButton with top-left & bottom-left corner radius only并且正在工作。但问题是当按钮有一些约束时它会突然停止工作。任何人都可以帮助我,我尝试改变一切,但仍然没有结果。
正如你可以在图片上看到它在图片顶部的第一个橙色按钮工作但是对于TWITTER按钮它不工作。有什么帮助吗?
extension UIButton{
func roundCorners(corners:UIRectCorner, radius: CGFloat) {
let path = UIBezierPath(roundedRect: self.bounds, byRoundingCorners: corners, cornerRadii: CGSize(width: radius, height: radius))
let mask = CAShapeLayer()
mask.path = path.CGPath
self.layer.mask = mask
}
}
这是用法(testBtn
是橙色工作按钮)
testBtn.roundCorners([.TopRight, .BottomRight], radius: 20)
facebookBtn.roundCorners([.TopLeft, .BottomLeft], radius: 20)
twitterBtn.roundCorners([.TopRight, .BottomRight], radius: 20)