2013-09-26 49 views
4

爲什麼滑塊圖像會粘在被加載的位置?自定義UISlider圖像卡住

這是我的代碼:

for (UISlider *slider in volumeSlider.subviews) { 
    if ([slider isKindOfClass:[UISlider class]]) { 
     [slider setMinimumTrackImage:[[UIImage imageNamed:@"sliderMax.png"] stretchableImageWithLeftCapWidth:10.0 topCapHeight:0.0] forState:UIControlStateNormal ]; 
     [slider setMaximumTrackImage:[[UIImage imageNamed:@"sliderMin.png"] stretchableImageWithLeftCapWidth:10.0 topCapHeight:0.0] forState:UIControlStateNormal ]; 
     [slider setThumbImage:[UIImage imageNamed:@"thumbSlider.png"] forState:UIControlStateNormal]; 
    } 
} 

enter image description here

+0

將加載它糾正問題後滑塊設置初始值? – KDaker

+0

用'resizableImageWithCapInsets:'替換您對不推薦使用的'stretchableImageWithLeftCapWidth'方法。這可能有幫助。 – rmaddy

+0

不,對不起。這兩種解決方案都行不通 – MappleDev

回答

1

這裏好吧是我找到了!爲了解決這個問題,將你的滑塊放在viewdidload方法的最頂層(或者基本上在對滑塊進行任何其他操作之前)。

這樣做後,我發現我的自定義滑塊表現得應該如此! (在iOS 7.0.2上測試)。

0

我在軌道右端有相同的情況。這很煩人。但我解決了這個問題,代碼:

- (CGRect)trackRectForBounds:(CGRect)bounds { 
    return (CGRect) {0,0, bounds.size.width, bounds.size.height}; 
} 

(我的自定義賽道具有相同大小滑塊視圖)