【发布时间】:2018-05-23 08:27:32
【问题描述】:
我正在尝试在 [.topLeft,.bottomLeft] 和 [.topRight,.bottomRight] 上使用渐变颜色和角半径来实现这一点,但我无法做到实现一侧的边框颜色。
这是我的代码
//btnMale gradient color
btnMale.roundCorners([.topLeft,.bottomLeft], radius: 20)
btnFemale.roundCorners([.topRight,.bottomRight], radius: 20)
btnMale.backgroundColor = .clear
let gradient1: CAGradientLayer = CAGradientLayer()
gradient1.frame = CGRect(x: 0, y: 0, width: (self.view.frame.size.width - 90)/2 , height: btnMale.frame.size.height)
gradient1.colors = [Colors.appYellow,Colors.appRed].map { $0.cgColor }
gradient1.startPoint = GradientOrientation.horizontal.startPoint
gradient1.endPoint = GradientOrientation.horizontal.endPoint
btnMale.layer.insertSublayer(gradient1, at: 0)
btnMale.applyGradient(withColours: [Colors.appYellow,Colors.appRed], gradientOrientation: .horizontal)
btnMale.borderWidth = 0.0
btnFemale.borderWidth = 0.5
btnFemale.borderColor = .black
btnMale.setImage(UIImage(named: Images.imgMaleIconWhite), for: .normal)
btnFemale.setImage(UIImage(named: Images.imgFemaleIconBlack), for: .normal)
这是我的输出
请帮忙。
【问题讨论】:
-
一个题外话的建议:您不想为此目的使用
UISegmentedControl吗?您还可以将图层样式应用于整个元素而不是不同的按钮。 -
@AuRi 有什么例子吗?或代码
标签: ios swift uibutton gradient