为什么 UIViews 背景颜色没有更新?

罗吉

Switch 语句有效但不会重置视图背景颜色等。

我有一个UIImage(图标)和一个UIButton嵌入在UIView(自定义类型DropShadowCircleView)中,如下图所示。

纽扣

当步行按钮被点击一个var navigationOption被设置为walkingdriving并且setupNavigationSelectionView()被执行。

问题是开关的行走案例完美运行,但“驱动案例不会将UIView图标色调颜色重新设置为原始设置,例如;背景颜色等。任何想法为什么?

func setupNavigationSelectionView(){

        switch navigationOption {

        case "walking":
            walkingBg.setGradientBackground(colourOne: softGreen, ColourTwo: softBlue)
            walkingBg.layer.cornerRadius = walkingBg.frame.width / 2
            walkingBg.clipsToBounds = true
            walkingIcon.tintColor = #colorLiteral(red: 0, green: 0, blue: 0, alpha: 1)

        case "driving":
            walkingBg.backgroundColor = #colorLiteral(red: 0, green: 0, blue: 0, alpha: 1)
            walkingBg.layer.cornerRadius = walkingBg.frame.width / 2
            walkingBg.clipsToBounds = true
            walkingIcon.tintColor = #colorLiteral(red: 1.0, green: 1.0, blue: 1.0, alpha: 1.0)

        default:
            break

        }
}

编辑:这是我的DropShadowCircleView班级

class DropShadowCircleView: UIView {

    override func awakeFromNib() {

        setupView()
        super.awakeFromNib()

    }

    func setupView(){
        self.layer.shadowOpacity = 0.50
        self.layer.shadowRadius = 20
        self.layer.shadowColor = UIColor.black.cgColor
        self.layer.cornerRadius = self.frame.width / 2


    }

}

编辑:这是我的setGradientBackground功能,它在一个扩展文件中UIView

func setGradientBackground(colourOne: UIColor, ColourTwo: UIColor) {

        let gradientLayer = CAGradientLayer()
        gradientLayer.frame = bounds
        gradientLayer.colors = [colourOne.cgColor, ColourTwo.cgColor]
        gradientLayer.locations = [0.0, 1.0]
        gradientLayer.startPoint = CGPoint(x: 1.0, y: 1.0)
        gradientLayer.endPoint = CGPoint(x: 0.0, y: 0.0)

        layer.insertSublayer(gradientLayer, at: 0)
    }
瓦瓦马

重置图标时,您需要移除渐变图层。

将此添加到您的extension UIView

func removeGradientBackground() {
    guard
        let idx = layer.sublayers?.index(where: { $0 is CAGradientLayer })
        else { return }

    layer.sublayers?.remove(at: idx)
}

并在您重置图标时调用它。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

为什么“ tbody”没有在表格中设置背景颜色?

来自分类Dev

为什么按钮的背景没有改变颜色?

来自分类Dev

为什么身体背景颜色没有改变

来自分类Dev

为什么TextField的背景没有更改为我设置的颜色?

来自分类Dev

为什么我的div没有我的Aboutme页面所需的背景颜色

来自分类Dev

如果其中没有任何内容,为什么Javascript不更改div的背景颜色?

来自分类Dev

为什么我的导航栏没有背景颜色和垂直列表?

来自分类Dev

为什么在uiviews上设置backgroundImage会减慢我的iOS应用程序?

来自分类Dev

为什么我的变量没有更新?

来自分类Dev

为什么我的地图没有更新?

来自分类Dev

为什么我的SeekBar没有更新?

来自分类Dev

为什么DropdownButton的dropdownValue没有更新?

来自分类Dev

为什么我的记录没有更新?

来自分类Dev

为什么我的变量没有更新?

来自分类Dev

为什么我的SeekBar没有更新?

来自分类Dev

为什么Flash插件没有更新?

来自分类Dev

为什么这段文字没有更新?

来自分类Dev

为什么 Firefox 没有更新?

来自分类Dev

为什么 FirebaseUser DisplayName 没有更新?

来自分类Dev

如何从具有相同父级的其他 UIViews 控制/引用 UIViews?

来自分类Dev

使用UIViews进入UIViews

来自分类Dev

为什么在href =“#”时<a>的颜色没有改变?

来自分类Dev

为什么我的边框没有更改为指定的颜色?

来自分类Dev

为什么我的SVG没有采用预期的颜色?

来自分类Dev

为什么我的散点图没有显示颜色?

来自分类Dev

为什么文件没有颜色代码?

来自分类Dev

为什么属性网格没有显示正确的颜色?

来自分类Dev

为什么ProgressDialog的背景没有设置为透明?

来自分类Dev

为什么没有显示包装图像背景?

Related 相关文章

  1. 1

    为什么“ tbody”没有在表格中设置背景颜色?

  2. 2

    为什么按钮的背景没有改变颜色?

  3. 3

    为什么身体背景颜色没有改变

  4. 4

    为什么TextField的背景没有更改为我设置的颜色?

  5. 5

    为什么我的div没有我的Aboutme页面所需的背景颜色

  6. 6

    如果其中没有任何内容,为什么Javascript不更改div的背景颜色?

  7. 7

    为什么我的导航栏没有背景颜色和垂直列表?

  8. 8

    为什么在uiviews上设置backgroundImage会减慢我的iOS应用程序?

  9. 9

    为什么我的变量没有更新?

  10. 10

    为什么我的地图没有更新?

  11. 11

    为什么我的SeekBar没有更新?

  12. 12

    为什么DropdownButton的dropdownValue没有更新?

  13. 13

    为什么我的记录没有更新?

  14. 14

    为什么我的变量没有更新?

  15. 15

    为什么我的SeekBar没有更新?

  16. 16

    为什么Flash插件没有更新?

  17. 17

    为什么这段文字没有更新?

  18. 18

    为什么 Firefox 没有更新?

  19. 19

    为什么 FirebaseUser DisplayName 没有更新?

  20. 20

    如何从具有相同父级的其他 UIViews 控制/引用 UIViews?

  21. 21

    使用UIViews进入UIViews

  22. 22

    为什么在href =“#”时<a>的颜色没有改变?

  23. 23

    为什么我的边框没有更改为指定的颜色?

  24. 24

    为什么我的SVG没有采用预期的颜色?

  25. 25

    为什么我的散点图没有显示颜色?

  26. 26

    为什么文件没有颜色代码?

  27. 27

    为什么属性网格没有显示正确的颜色?

  28. 28

    为什么ProgressDialog的背景没有设置为透明?

  29. 29

    为什么没有显示包装图像背景?

热门标签

归档