角半径只是在特定的角
Corner radius just in particular corner
我在 Swift 4 中工作,我正在尝试制作一个只有四个角中的两个圆角的按钮(对于某些按钮,右上角和右上角按钮以及左上角和右上角按钮)左下角)。
我搜索了很多,我找到的是:myButton.layer.cornerRadius = newCornerRadiusInPixels;
。它工作得很好,但它同时圆化了所有的角。
有没有办法只圆一个特定的角?
谢谢!
适用于 iOS 11 岁及以上:
myButton.layer.maskedCorners = [.layerMaxXMaxYCorner] // or some other corner(s)
试试这个
extension UIView {
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
}
}
view.roundCorners([.topLeft, .bottomRight], radius: 10)
我在 Swift 4 中工作,我正在尝试制作一个只有四个角中的两个圆角的按钮(对于某些按钮,右上角和右上角按钮以及左上角和右上角按钮)左下角)。
我搜索了很多,我找到的是:myButton.layer.cornerRadius = newCornerRadiusInPixels;
。它工作得很好,但它同时圆化了所有的角。
有没有办法只圆一个特定的角? 谢谢!
适用于 iOS 11 岁及以上:
myButton.layer.maskedCorners = [.layerMaxXMaxYCorner] // or some other corner(s)
试试这个
extension UIView {
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
}
}
view.roundCorners([.topLeft, .bottomRight], radius: 10)