代码
// 添加rSlider
addSubview(rSlider)
rSlider.transform = CGAffineTransform.init(rotationAngle: CGFloat(-Double.pi/2))
rSlider.snp.makeConstraints { (make) in
make.width.equalTo(73)
make.height.equalTo(9)
make.centerX.equalTo(headlightColorV).offset(40)
make.centerY.equalTo(headlightColorV.snp.bottom)
}
layoutIfNeeded()
// 设置滑动底部颜色
rSlider.bgColor = .red
复制代码
slider内部所有代码
//
// NBSlider.swift
// 自定义滑块
//
// Created by xxzx on 2018/3/5.
// Copyright © 2018年 xxzx. All rights reserved.
//
import UIKit
import SwifterSwift
class NBSlider: UISlider {
// 背景颜色
open var bgColor: UIColor = .red {
didSet {
let beforeImg = UIImage.init(color: bgColor, size: CGSize(width: bounds.size.width, height: bounds.size.height))
let afterImg = UIImage.init(color: bgColor, size: CGSize(width: bounds.size.width, height: bounds.size.height))
setMinimumTrackImage(beforeImg, for: .normal)
setMaximumTrackImage(afterImg, for: .normal)
}
}
// 移动图片
open var thumbImg: UIImage? {
didSet {
setThumbImage(thumbImg, for: .normal)
}
}
override init(frame: CGRect) {
super.init(frame: frame)
setupConfig()
}
required init?(coder aDecoder: NSCoder) {
fatalError("init(coder:) has not been implemented")
}
}
// MARK: - 设置界面
extension NBSlider {
fileprivate func setupConfig() {
addTarget(self, action: #selector(sliderValueChanged(slider:)), for: .valueChanged)
}
}
// MARK: - 监听方法
extension NBSlider {
@objc fileprivate func sliderValueChanged(slider: NBSlider) {
print(slider.value)
}
}
复制代码
和?的代码一致
slider.frame = CGRect(origin: .zero, size: CGSize(width: 100, height: 10))
// 无法使用圆角,使用图片代替
// slider.layer.cornerRadius = 3
// slider.layer.masksToBounds = true
slider.center = CGPoint(x: self.view.center.x, y: self.view.center.y + 60.0)
slider.value = 200
slider.transform = CGAffineTransform.init(rotationAngle: CGFloat(-Double.pi/2))
slider.bgColor = .orange
复制代码