2012-10-23 38 views
2

我爲我的滑塊提供了滑塊圖形。如何防止滑塊在邊緣附近轉動「不良」

這是結果: enter image description here

然後在 enter image description here

所以你看右邊,邊緣變成了「盒子」,而不是圓的。我真正想要的是與蘋果提供的更接近的東西。這是我用於來回切換之間使用自定義滑塊圖像和零碼:

- (IBAction)groupPinButton:(id)sender { 
    self.groupPinButton.selected = ! self.groupPinButton.selected; 
    UIImage *minImage = [[UIImage imageNamed:@"minimum_slider.png"]resizableImageWithCapInsets2:UIEdgeInsetsMake(0, 5, 0, 0)]; 
    UIImage *maxImage = [[UIImage imageNamed:@"maximum_slider.png"]resizableImageWithCapInsets2:UIEdgeInsetsMake(0, 0, 0, 5)]; 
    if (self.groupPinButton.selected) 
    { 


     [self.distanceSlider setMaximumTrackImage:maxImage forState:UIControlStateNormal]; 
     [self.distanceSlider setMinimumTrackImage:minImage forState:UIControlStateNormal]; 
    } 
    else{ 

     [self.distanceSlider setMaximumTrackImage:nil forState:UIControlStateNormal]; 
     [self.distanceSlider setMinimumTrackImage:nil forState:UIControlStateNormal]; 
    } 
} 

如果我設置maximumTrackImage爲零,這是截圖:

enter image description here enter image description here

看起來好多了。但我想定製。

,我使用的minimum_slider.png和maximum_slider.png的圖片如下:

enter image description here enter image description here

,你可以在

http://i.stack.imgur.com/n30aw.png

那裏

http://i.stack.imgur.com/sF9SQ.png

注意其他邊緣是好的,但。所以當滑塊在除了最大值和最小值之外的任何地方工作正常。如果滑塊最大,那麼最右邊的角落就會混亂起來。最左邊的角落很好。

回答

2

啊!我遇到的同樣的問題。當你到達節目的最後,滑塊最大時,整個軌道圖像現在是左側,在你的例子中是「minimum_slider.png」。因此,沒有顯示「maximum_slider」圖像的部分(這會給你圓形的右邊緣),只有「minimum_slider」的右邊的方形。

我懷疑答案是讓你的兩個圖像兩端圓角,並在圖形中間的可擴展部分(邊緣插圖)。

我還沒有這樣做,因爲我仍然對UIEdgeInsets的工作感到困惑(我發現這個文檔很糟糕!),現在默認的軌道對我來說已經足夠了。所以,當你解決這個問題時,讓我們都知道。

+0

我懷疑你的懷疑是正確的。 – jrturton

+1

我懷疑Jrturton懷疑你的懷疑是正確的,一旦我證實他懷疑懷疑懷疑,就會標記你的答案。 –

+0

因爲這些假設被暫停,所以我在懸念中等待,但我想補充一點:在軌道和拇指中添加我自己的圖像,我發現有兩種方式存在問題。其中一個,拇指似乎不像「內置拇指」那樣「抓」,而且我經常在短暫的移動後失去它。二,當我用1/2秒的動畫隱藏並取消隱藏時,我發現這些元素以不同的速度出現和消失。例如,Netflix的應用程序的厚紅色軌跡和紅色按鈕。我不喜歡它顯示和隱藏的方式。 – coco