所以我有按钮,点击时添加一个漂亮的边框,我找不到删除边框的方法,因为我一次只想要一个边框。我已经尝试将宽度设置为0等。
@IBAction func podsButtonClicked(_ sender: UIButton) {
podsButton.addBottomBorderWithColor(color: greenColor(), width: 3)
}
@IBAction func subscribedButtonClicked(_ sender: UIButton) {
subscribedButton.addBottomBorderWithColor(color: greenColor(), width: 3)
}
@IBAction func subscribersButtonClicked(_ sender: UIButton) {
subscribersButton.addBottomBorderWithColor(color: greenColor(), width: 3)
}
在每个按钮中,我想从其他按钮中删除边框。
答案 0 :(得分:1)
addBottomBorderWithColor
是您在项目中添加为UIButton
的扩展名的方法。根据它添加底部边框的方式,您必须执行以下操作之一:
如果要将按钮的下边框添加为子视图,则需要创建执行以下操作的方法:
func removeBottomBorder() {
bottomBorder.removeFromSuperview()
}
相反,如果您要将底部边框添加为子图层,则需要执行以下操作:
func removeBottomBorder() {
bottomBorder.removeFromSuperlayer()
}
我建议您创建一个管理底部边框的自定义按钮子类,它或多或少类似于此:
class BottomBorderButton: UIButton {
var bottomBorder: UIView? // If you are using a CALayer, use that instead
func addBottomBorderWithColor(color: UIColor, width: Int) {
let bottomBorder = UIView() // If you are using a CALayer, use that instead
// Use whatever you have already implementeds here
// ...
self.bottomBorder = bottomBorder
}
func removeBottomBorder() {
self.bottomBorder?.removeFromSuperview()
// If you use a CALayer, use the following instead
// self.bottomBorder?.removeFromSuperlayer()
}
}
在您的项目中,然后在需要时使用BottomBorderButton而不是UIButton。