自定义 UISlider 高度 - 以编程方式创建
Customize UISlider Height - Programmatically Created
当以编程方式创建滑块时,如何为滑块创建自定义高度?
这个类似 question 的答案解释了在使用故事板设置幻灯片时如何做到这一点。如果您不使用 Storyboard 并且滑块是以编程方式沿着这些线路设置的怎么办?谢谢!
let slider: UISlider = {
let slider = UISlider()
slider.minimumValue = 1
slider.maximumValue = 7
slider.value = 1
slider.maximumTrackTintColor = UIColor.red
slider.minimumTrackTintColor = UIColor.green
slider.thumbTintColor = UIColor.blue
slider.isContinuous = true
slider.translatesAutoresizingMaskIntoConstraints = false
return slider
}()
您需要创建一个自定义滑块,并覆盖 trackRect(forBounds bounds: CGRect) -> CGRect
class CustomSlider: UISlider {
let trackHeight: CGFloat = 12 //desired track width, in points
override func trackRect(forBounds bounds: CGRect) -> CGRect {
let track = super.trackRect(forBounds: bounds)
return CGRect(x: track.origin.x, y: track.origin.y, width: track.width, height: trackHeight)
}
}
并更改您的实现以使用此
let slider: CustomSlider = {
let slider = CustomSlider()
slider.minimumValue = 1
slider.maximumValue = 7
slider.value = 1
slider.maximumTrackTintColor = UIColor.red
slider.minimumTrackTintColor = UIColor.green
slider.thumbTintColor = UIColor.blue
slider.isContinuous = true
slider.translatesAutoresizingMaskIntoConstraints = false
return slider
}()
当以编程方式创建滑块时,如何为滑块创建自定义高度?
这个类似 question 的答案解释了在使用故事板设置幻灯片时如何做到这一点。如果您不使用 Storyboard 并且滑块是以编程方式沿着这些线路设置的怎么办?谢谢!
let slider: UISlider = {
let slider = UISlider()
slider.minimumValue = 1
slider.maximumValue = 7
slider.value = 1
slider.maximumTrackTintColor = UIColor.red
slider.minimumTrackTintColor = UIColor.green
slider.thumbTintColor = UIColor.blue
slider.isContinuous = true
slider.translatesAutoresizingMaskIntoConstraints = false
return slider
}()
您需要创建一个自定义滑块,并覆盖 trackRect(forBounds bounds: CGRect) -> CGRect
class CustomSlider: UISlider {
let trackHeight: CGFloat = 12 //desired track width, in points
override func trackRect(forBounds bounds: CGRect) -> CGRect {
let track = super.trackRect(forBounds: bounds)
return CGRect(x: track.origin.x, y: track.origin.y, width: track.width, height: trackHeight)
}
}
并更改您的实现以使用此
let slider: CustomSlider = {
let slider = CustomSlider()
slider.minimumValue = 1
slider.maximumValue = 7
slider.value = 1
slider.maximumTrackTintColor = UIColor.red
slider.minimumTrackTintColor = UIColor.green
slider.thumbTintColor = UIColor.blue
slider.isContinuous = true
slider.translatesAutoresizingMaskIntoConstraints = false
return slider
}()