美文网首页
UISlider设置渐变背景

UISlider设置渐变背景

作者: 方_f666 | 来源:发表于2021-01-18 18:58 被阅读0次
private var gradientView = ColorGradientView()

        voiceAdjustView.insertSubview(gradientView, belowSubview: voiceLevelSlider)
        gradientView.snp.makeConstraints { (make) in
            make.width.equalTo(voiceLevelSlider)
            make.height.equalTo(4)
            make.centerX.equalTo(voiceLevelSlider)
            make.centerY.equalTo(voiceLevelSlider)
        }
        gradientView.gradientColors = [UIColor(hexString: "83B5FF"),.COLOR_4C7EFF]
        gradientView.direction = .LeftToRight
        gradientView.layer.cornerRadius = 4 / 2
        gradientView.layer.masksToBounds = true

        voiceLevelSlider.addTarget(self, action: #selector(sliderChangeGradientColor), for: .valueChanged)

    @objc private func sliderChangeGradientColor() {
        let targetWidth = (voiceLevelSlider.width - 9) / 15 * CGFloat(Int(ceilf(voiceLevelSlider.value)))
        gradientView.snp.remakeConstraints { (make) in
            make.width.equalTo(targetWidth)
            make.height.equalTo(3)
            make.left.equalTo(voiceLevelSlider)
            make.centerY.equalTo(voiceLevelSlider).offset(0.5)
        }
        gradientView.gradientColors = [UIColor(hexString: "83B5FF"),.COLOR_4C7EFF]
        gradientView.direction = .LeftToRight
        gradientView.layer.cornerRadius = 4 / 2
        gradientView.layer.masksToBounds = true
        gradientView.layoutIfNeeded()
        gradientView.setNeedsLayout()
    }

相关文章

网友评论

      本文标题:UISlider设置渐变背景

      本文链接:https://www.haomeiwen.com/subject/vfgxzktx.html