radiusCorner 和按钮
radiusCorner and button
我的按钮有点问题。
我的按钮在垂直堆栈视图中。
我只想为我的按钮 #1 顶部的角做圆角。
我的代码:
extension UIButton {
func roundedButton(){
let path = UIBezierPath(roundedRect: bounds, byRoundingCorners: [.topLeft , .topRight], cornerRadii: CGSize(width: 5, height: 5))
let mask = CAShapeLayer()
mask.frame = self.bounds
mask.masksToBounds = true
mask.path = path.cgPath
layer.mask = mask
}
}
使用:
bouton1.roundedButton()
但是结果并不好..
为什么我的按钮不完整?
你有好主意吗 ?
谢谢你的帮助:)
我认为你的问题是因为你在错误的地方调用了那个方法。
在 UI 更新已经正确呈现后,需要调用需要获取组件正确 rect 值的东西。
在调用 bouton1.roundedButton()
之前添加 view.setNeedsLayout()
和 view.layoutIfNeeded()
应该可以解决您的问题。
我的按钮有点问题。
我的按钮在垂直堆栈视图中。
我只想为我的按钮 #1 顶部的角做圆角。
我的代码:
extension UIButton {
func roundedButton(){
let path = UIBezierPath(roundedRect: bounds, byRoundingCorners: [.topLeft , .topRight], cornerRadii: CGSize(width: 5, height: 5))
let mask = CAShapeLayer()
mask.frame = self.bounds
mask.masksToBounds = true
mask.path = path.cgPath
layer.mask = mask
}
}
使用:
bouton1.roundedButton()
但是结果并不好..
为什么我的按钮不完整? 你有好主意吗 ?
谢谢你的帮助:)
我认为你的问题是因为你在错误的地方调用了那个方法。
在 UI 更新已经正确呈现后,需要调用需要获取组件正确 rect 值的东西。
在调用 bouton1.roundedButton()
之前添加 view.setNeedsLayout()
和 view.layoutIfNeeded()
应该可以解决您的问题。