2016-04-26 108 views
1

我已經使用Xcode的故事板將UISlider拖動到我的視圖中。然後,我製備如下的出口和定製滑塊的外觀(在SWIFT):當滑塊具有極端最大值時,UISlider MaximumTrackImage剪輯

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:
slider_min.pngslider_max.pngslider_thumb.png

我有問題,最大的兩個可能的值(11,12):在MaximumTrackImage剪輯出於某種原因。這是發生了什麼:

custom UISlider with different values

  1. 初始,最小位置,值= 1
  2. 最後確定位置,值= 10
  3. 發生削波,價值第一的位置= 11
  4. 最大位置,仍然削波,值= 12

爲什麼會發生這種情況?這可以修復或有任何解決方法嗎?

回答

0

好吧,看起來問題出在MaximumTrackImage--它不必要的寬。我裁剪的軌道圖像寬度爲6像素,問題消失。

裁剪MaximumTrackImage就足夠了,但裁剪MinimumTrackImage也不會造成傷害。