【发布时间】:2017-12-26 03:45:21
【问题描述】:
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
}
我正在使用此函数为UIButton 提供特定侧的圆角半径。我将此函数调用为UITableViewCell,但我遇到了像这样的问题. 但它没有改变,并且按钮正在从其宽度中切割。
我在TableviewCell调用这个函数
override func layoutSubviews() {
super.layoutSubviews()
self.btnWithdraw.roundCorners([.bottomRight], radius: 4.0)
self.btnAddFund.roundCorners([.bottomLeft], radius: 4.0)
}
但是这里的问题就像它是按照情节提要视图控制器中给出的原始帧,而按钮没有按照约束的宽度。
任何帮助将不胜感激。
谢谢
【问题讨论】:
-
在 iOS 9 中,按钮具有仅圆角的固有能力,无需遮罩。
-
好的,如果我的应用程序支持 ios 8,我该怎么办? @马特
-
把你的代码放在里面,
drawReact
标签: ios uitableview uibutton uibezierpath cornerradius