当滑块具有极端最大值时 UISlider MaximumTrackImage 剪辑
Posted
技术标签:
【中文标题】当滑块具有极端最大值时 UISlider MaximumTrackImage 剪辑【英文标题】:UISlider MaximumTrackImage clips when slider has extreme max values 【发布时间】:2016-04-26 08:33:06 【问题描述】:我使用 Xcode 的故事板将 UISlider 拖到了我的视图中。然后我做了一个插座和自定义滑块的外观(在 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)
滑块是阶梯式的,因此可能的值是整数 ∈ [1,12]。
这些是引用的图像,它们是透明的 PNG:
由于某种原因,我遇到了两个最大可能值(11、12)的问题:MaximumTrackImage 剪辑。这就是发生的事情:
-
初始,最小位置,值 = 1
最后一个 OK 位置,值 = 10
剪辑发生的第一个位置,值 = 11
最大位置,仍在裁剪,值 = 12
为什么会这样?这可以解决还是有任何解决方法?
【问题讨论】:
【参考方案1】:哦,看来问题出在MaximumTrackImage 上——它太宽了。我将轨道图像裁剪为 6 px 宽,问题就消失了。
裁剪 MaximumTrackImage 就足够了,但裁剪 MinimumTrackImage 也没有什么坏处。
【讨论】:
以上是关于当滑块具有极端最大值时 UISlider MaximumTrackImage 剪辑的主要内容,如果未能解决你的问题,请参考以下文章