我使用 Xcode 的 Storyboard将 UISlider 拖到我的 View 中。然后我制作了一个 socket 并自定义了 slider 的外观(在 Swift 中),如下所示:
slider.setMinimumTrackImage(UIImage(named: "Images/slider_min.png")?.stretchableImageWithLeftCapWidth(3, topCapHeight: 0), forState: UIControlState.Normal)
slider.setMaximumTrackImage(UIImage(named: "Images/slider_max.png")?.stretchableImageWithLeftCapWidth(3, topCapHeight: 0), forState: UIControlState.Normal)
slider.setThumbImage(UIImage(named: "Images/slider_thumb.png"), forState: UIControlState.Normal)
slider.setThumbImage(UIImage(named: "Images/slider_thumb.png"), forState: UIControlState.Highlighted)
slider 是步进的,因此可能的值是整数∈[1,12]。
由于某些原因,我遇到了两个最大可能值 (11、12) 的问题:MaximumTrackImage 剪辑。这是发生了什么:
- 初始,最小位置,值= 1
- 最后一个 OK 位置,值 = 10
- 第一个发生裁剪的位置,value = 11
- 最大位置,仍然剪裁,值= 12
为什么会这样?这可以修复吗?是否有任何解决方法?
最佳答案
哦,看来问题出在 MaximumTrackImage 上——它太宽了。我将轨道图像的宽度裁剪为 6 px,问题消失了。
裁剪 MaximumTrackImage 就足够了,但裁剪 MinimumTrackImage 也没什么坏处。
关于ios - 当 slider 具有极端最大值时,UISlider MaximumTrackImage 剪辑,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36859488/