Round Top Corners of a UIButton in Swift(Swift 中 UIButton 的圆顶角)
本文介绍了Swift 中 UIButton 的圆顶角的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我知道我可以使用以下方法绕过所有四个角:
myBtn.layer.cornerRadius = 8myBtn.layer.masksToBounds = true
由于我只想进行第二轮,我做了一些研究,发现
问题是,如何调整它以在 UIButton 上工作?
解决方案
添加UIButton的扩展:
扩展 UIButton{函数圆形按钮(){让 maskPath1 = UIBezierPath(roundedRect: bounds,byRoundingCorners: [.topLeft, .topRight],角半径:CGSize(宽度:8,高度:8))让 maskLayer1 = CAShapeLayer()maskLayer1.frame = 边界maskLayer1.path = maskPath1.cgPathlayer.mask = maskLayer1}}
在 viewDidAppear/viewDidLayoutSubviews 中调用:
btnCorner.roundedButton()
按钮角输出:
I know I can round all four corners using:
myBtn.layer.cornerRadius = 8
myBtn.layer.masksToBounds = true
Since I only want to round two, I did some research and found this:
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
}
}
Which is called like this:
view.roundCorners([.TopLeft , .TopRight], radius: 10)
Yet this doesn't work for a UIButton. When I switch the extension to be for type UIButton and pass it a button , the output looks like this:
The question is, how do I adapt this to work on a UIButton?
解决方案
Adding Extension of UIButton:
extension UIButton{
func roundedButton(){
let maskPath1 = UIBezierPath(roundedRect: bounds,
byRoundingCorners: [.topLeft , .topRight],
cornerRadii: CGSize(width: 8, height: 8))
let maskLayer1 = CAShapeLayer()
maskLayer1.frame = bounds
maskLayer1.path = maskPath1.cgPath
layer.mask = maskLayer1
}
}
Calling in viewDidAppear/viewDidLayoutSubviews:
btnCorner.roundedButton()
Button Corner OutPut:
这篇关于Swift 中 UIButton 的圆顶角的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
沃梦达教程
本文标题为:Swift 中 UIButton 的圆顶角


基础教程推荐
猜你喜欢
- 在视图控制器的宽度上水平均匀分布 UIButton 的最简单方法? 2022-01-01
- 从 UIWebView 访问元数据 2022-01-01
- UINavigationBar 隐藏按钮文本 2022-01-01
- Firebase 云消息传递令牌未生成 2022-01-01
- 在 iOS 7 下 CCMenu 错位 2022-01-01
- Android - 如何在runOnUiThread 中将数据传递给Runnable? 2022-01-01
- EditText 中的 setHintTextColor() 2022-01-01
- UINavigationItem 的持久 rightBarButtonItem 属性 2022-01-01
- 更改 UITableView 部分标题的颜色 2022-01-01
- iOS4 创建后台定时器 2022-01-01