如何实现最小轨道从中心(值=0)开始而不是左侧的滑块
How to implement a slider whose minimum track is begin from center(value=0) not left
就是这样。
有什么方法可以让 UISlider 的子类实现吗?
编辑:
也许我误导了你,但这确实是一个 UI 的问题。
解决。
create fakeThumbImageView fakeMinTrackImageView fakeMaxTrackImageView 并在 thumbRectForBounds:trackRect:value:
override setMinimumTrackTintColor:
setMinimumTrackImage:
和其他一些方法(共6个)
调用super setMinimumTrackTintColor:[UIColor clearColor]
等初始化方法
建议制作fakeXXXXImageView.layer.zPosition=1000
首先设置 minimumTrackTintColor = .clear
和 self.maximumTrackTintColor = .clear
。然后,您可以创建一个具有相同轨道的 width
/height
的视图,并将其放在 UISlider
的正下方。使用此视图,您可以将 leadingConstraint
和 trailingConstraint
设置为在中间压缩(初始位置,当 UISlider
值为 0.5
时)。因此,每当 UISlider
值发生变化时,您都可以重新计算约束以实现您想要的结果。
就是这样。
有什么方法可以让 UISlider 的子类实现吗?
编辑: 也许我误导了你,但这确实是一个 UI 的问题。
解决。
create fakeThumbImageView fakeMinTrackImageView fakeMaxTrackImageView 并在
thumbRectForBounds:trackRect:value:
override
setMinimumTrackTintColor:
setMinimumTrackImage:
和其他一些方法(共6个)调用
super setMinimumTrackTintColor:[UIColor clearColor]
等初始化方法建议制作
fakeXXXXImageView.layer.zPosition=1000
首先设置 minimumTrackTintColor = .clear
和 self.maximumTrackTintColor = .clear
。然后,您可以创建一个具有相同轨道的 width
/height
的视图,并将其放在 UISlider
的正下方。使用此视图,您可以将 leadingConstraint
和 trailingConstraint
设置为在中间压缩(初始位置,当 UISlider
值为 0.5
时)。因此,每当 UISlider
值发生变化时,您都可以重新计算约束以实现您想要的结果。