【问题标题】:How to remove CALayer bottom border of UIButton in Swift?如何在 Swift 中删除 UIButton 的 CALayer 底部边框?
【发布时间】:2016-12-19 08:57:20
【问题描述】:

如何在 Swift 中移除 UIButton 的 CALayer 底部边框?底部边框添加到第 1 周按钮,但在单击第 2 周按钮时不会删除。

我也在添加屏幕截图

这是我的代码:

     @IBAction func week1BtnTapped(_ sender: UIButton) {
            week1.isSelected = true
            didTapButton(btnClicked: week1)
            week2.isSelected = true
            didTapButton(btnClicked: week2)
            btnSelectedText = "Week-1"
            serviceCall()
        }

        @IBAction func week2BtnTapped(_ sender: UIButton) {
            week2.isSelected = true
            week1.isSelected = false
            didTapButton(btnClicked: week1)
            btnSelectedText = "Week-2"
            didTapButton(btnClicked: week2)
            serviceCall()
        }

      func didTapButton(btnClicked:UIButton){
          let border = CALayer()
            if btnClicked.isSelected {
            border.borderColor = UIColor.gray.cgColor
            border.frame = CGRect(x: 2, y: btnClicked.frame.size.height - 2.0, width:  btnClicked.frame.size.width - 5, height: btnClicked.frame.size.height)

            border.borderWidth = 3.0
            btnClicked.layer.addSublayer(border)
            btnClicked.layer.masksToBounds = true
            }
           else{
             border.borderColor = UIColor.white.cgColor
            border.borderWidth = 0.0
            border.frame = CGRect(x: 2, y: btnClicked.frame.size.height , width:  btnClicked.frame.size.width - 5, height: btnClicked.frame.size.height)
            btnClicked.layer.masksToBounds = true
            }
        }

【问题讨论】:

    标签: swift uibutton calayer


    【解决方案1】:

    我认为week1BtnTapped 中有错字。 button2isSelected 应该是false,这样didTapButton 中的条件就可以如你所愿。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-03-26
      • 1970-01-01
      • 2020-02-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多