如何实现最小轨迹从中心(值= 0)开始的滑块未离开

时间:2016-12-12 07:06:24

标签: ios objective-c uislider

就是这样的。 enter image description here

有没有什么方法只是UISlider的子类可以实现这个目标?

修改 也许我误导了你,但这是一个 UI 问题。

2 个答案:

答案 0 :(得分:0)

解决它。

  1. 创建 fakeThumbImageView fakeMinTrackImageView fakeMaxTrackImageView 并在thumbRectForBounds:trackRect:value:

  2. 中设置框架
  3. 覆盖setMinimumTrackTintColor: setMinimumTrackImage:和其他一些方法(总共6个)

  4. 在初始化方法

  5. 中调用super setMinimumTrackTintColor:[UIColor clearColor]
  6. 建议fakeXXXXImageView.layer.zPosition=1000

答案 1 :(得分:0)

首先,您设置minimumTrackTintColor = .clearself.maximumTrackTintColor = .clear。然后,您可以创建一个与轨道的width / height相同的视图,并将其放在UISlider的正下方。使用此视图,您可以将leadingConstrainttrailingConstraint设置为在中间(初始位置,当UISlider值为0.5时被压缩)。因此,只要UISlider值发生变化,您都可以重新计算约束以实现所需的目标。