【问题标题】:Swift how change the background color and button borderSwift如何更改背景颜色和按钮边框
【发布时间】:2018-11-03 11:16:49
【问题描述】:

我有功能:

func setSelectedSystemButtonColor(hoverButton: Int){
    let defaultColor = UIColor(red: 0/255, green: 62/255, blue: 132/255, alpha: 1)
    let selectedColor = UIColor(red: 251/255, green: 186/255, blue: 8/255, alpha: 1)

    homeBtn.backgroundColor = defaultColor
    productsBtn.backgroundColor = defaultColor
    calculatorBtn.backgroundColor = defaultColor
    conceptBtn.backgroundColor = defaultColor
    tipBtn.backgroundColor = defaultColor

    if hoverButton == 1 {
        homeBtn.backgroundColor = selectedColor
        homeBtn.layer.borderColor = defaultColor.cgColor
    }
    if hoverButton == 2 {
        productsBtn.backgroundColor = selectedColor
        homeBtn.layer.borderColor = defaultColor.cgColor
    }
    if hoverButton == 3 {
        calculatorBtn.backgroundColor = selectedColor
        homeBtn.layer.borderColor = defaultColor.cgColor
    }
    if hoverButton == 4 {
        conceptBtn.backgroundColor = selectedColor
        homeBtn.layer.borderColor = defaultColor.cgColor
    }
    if hoverButton == 5 {
        tipBtn.backgroundColor = selectedColor
        homeBtn.layer.borderColor = defaultColor.cgColor
    }
}

此功能旨在: a) 将颜色重置为默认值, b) 设置所选按钮的背景颜色+添加边框。

颜色正确更改,但不显示边框。 边框将在 5px 上

【问题讨论】:

标签: ios swift


【解决方案1】:

你忘了设置UIButton边框

button.layer.borderWidth = 0.8

【讨论】:

    【解决方案2】:

    你应该这样做:

      homeBtn.layer.borderWidth = 5
      homeBtn.layer.borderColor = defaultColor.cgColor
    

    而不是简单地做:

      homeBtn.layer.borderColor = defaultColor.cgColor
    

    【讨论】:

      【解决方案3】:

      为了显示按钮边框,首先你必须像这样明确地给homeBtn边框宽度:

      homeBtn.layer.borderWidth = 5.0
      

      那么只有你可以像这样为homeBtn边框层添加颜色:

      homeBtn.layer.borderColor = defaultColor.cgColor
      

      【讨论】:

        【解决方案4】:

        只替换这一行

        let defaultColor = UIColor(red: 0.0/255.0, green: 62.0/255.0, blue: 132.0/255.0, alpha: 1)
        

        let selectedColor = UIColor(red: 251.0/255.0, green: 186.0/255.0, blue: 8.0/255.0, alpha: 1)
        

        【讨论】:

          【解决方案5】:

          您可能需要重置所有按钮的边框宽度。

          func setSelectedSystemButtonColor(hoverButton: Int){
              let defaultColor = UIColor(red: 0/255, green: 62/255, blue: 132/255, alpha: 1)
              let selectedColor = UIColor(red: 251/255, green: 186/255, blue: 8/255, alpha: 1)
          
              homeBtn.backgroundColor = defaultColor
              productsBtn.backgroundColor = defaultColor
              calculatorBtn.backgroundColor = defaultColor
              conceptBtn.backgroundColor = defaultColor
              tipBtn.backgroundColor = defaultColor
          
              // reset border width of all buttons
              homeBtn.layer.borderWidth = 0.0
              productsBtn.layer.borderWidth = 0.0
              calculatorBtn.layer.borderWidth = 0.0
              conceptBtn.layer.borderWidth = 0.0
              tipBtn.layer.borderWidth = 0.0
          
              // set border width for selected button
              hoverButton.layer.borderWidth = 1.0
          
              if hoverButton == 1 {
                  homeBtn.backgroundColor = selectedColor
                  homeBtn.layer.borderColor = defaultColor.cgColor
              }
              if hoverButton == 2 {
                  productsBtn.backgroundColor = selectedColor
                  homeBtn.layer.borderColor = defaultColor.cgColor
              }
              if hoverButton == 3 {
                  calculatorBtn.backgroundColor = selectedColor
                  homeBtn.layer.borderColor = defaultColor.cgColor
              }
              if hoverButton == 4 {
                  conceptBtn.backgroundColor = selectedColor
                  homeBtn.layer.borderColor = defaultColor.cgColor
              }
              if hoverButton == 5 {
                  tipBtn.backgroundColor = selectedColor
                  homeBtn.layer.borderColor = defaultColor.cgColor
              }
          }
          

          【讨论】:

            猜你喜欢
            • 2015-06-04
            • 1970-01-01
            • 1970-01-01
            • 2020-11-07
            • 1970-01-01
            • 2014-08-17
            • 1970-01-01
            • 2021-06-22
            相关资源
            最近更新 更多