如何在Swift 4中为UISlider轨道添加边框颜色?

Bha*_*awa 5 uislider ios swift

我想要UISliderminimumTrackTintColorminimumTrackTintColor轨道 borderColor

我已经trackTintColorminimummaximum状态都设置了,但是我想为轨道添加边框UISlider

  • 我的UISlider样子是这样的:

滑块图像1 滑块图像2

  • 我需要这样跟踪边框:

带有边框的图像


class SliderWithHeart: UISlider
{

    override func awakeFromNib()
    {
        super.awakeFromNib()

        let imageTint = UIImage(named: "SliderHeart")
        self.minimumTrackTintColor = colorWithHex(hex: COLORCODE.APP_BUTTON_COLOR)
        self.maximumTrackTintColor = colorWithHex(hex: COLORCODE.APP_ORANGE_COLOR)
        self.setThumbImage(imageTint, for: .normal)
    }
    override func layoutSubviews()
    {
        super.layoutSubviews()
        super.layer.cornerRadius = self.frame.height/2
    }

    override func trackRect(forBounds bounds: CGRect) -> CGRect
    {
        var newBounds = super.trackRect(forBounds: bounds)
        newBounds.size.height = 10
        return newBounds
    }

}
Run Code Online (Sandbox Code Playgroud)

如何设置滑块轨道而不是整个滑块的边框颜色?

Vin*_*cob -3

将边框宽度和边框颜色添加到您的 UISlider

Yourslider.layer.borderWidth = 4.0
let red = UIColor(red: 255.0/255.0, green: 0.0/255.0, blue: 0.0/255.0, alpha: 1.0)
Yourslider.layer.borderColor = red.cgColor
Run Code Online (Sandbox Code Playgroud)

  • 这里我想为 Track 添加 `Border` 而不是整个 `UiSlider` (3认同)