2013-02-28 77 views
0

我有這段代碼可以創建自定義UISlider。當我快速滑動到最後時,left_image.png不會顯示,但如果我不滑動,則可以正常工作。UISlider跟蹤圖像在滑動時消失

[sliderFPS setMinimumTrackImage:[UIImage imageNamed:@"left_slider.png"] 
         forState:UIControlStateNormal]; 
[sliderFPS setMaximumTrackImage:[UIImage imageNamed:@"right_slider.png"] 
         forState:UIControlStateNormal]; 

[sliderFPS setThumbImage:[UIImage imageNamed:@"thumb_slider.png"]  
       forState:UIControlStateNormal]; 

我花了2個多小時,但找不到任何解決方案。任何幫助將不勝感激。

回答

5

補充一點:

#define SYSTEM_VERSION_GREATER_THAN_OR_EQUAL_TO(v) ([[[UIDevice currentDevice] systemVersion] compare:v options:NSNumericSearch] != NSOrderedAscending) 

if (SYSTEM_VERSION_GREATER_THAN_OR_EQUAL_TO(@"6.0")) 
{ 
    [[UISlider appearance] setMinimumTrackImage:[[UIImage imageNamed:@"ios6_slider_minimum_value"] resizableImageWithCapInsets:UIEdgeInsetsMake(0, 10, 0, 0)] forState:UIControlStateNormal]; 
    [[UISlider appearance] setMaximumTrackImage:[[UIImage imageNamed:@"ios6_slider_maximum_value"] resizableImageWithCapInsets:UIEdgeInsetsMake(0, 0, 0, 10)] forState:UIControlStateNormal]; 
} 
else 
{ 
    [[UISlider appearance] setMinimumTrackImage:[[UIImage imageNamed:@"slider_minimum_value"] resizableImageWithCapInsets:UIEdgeInsetsMake(0, 10, 0, 0)] forState:UIControlStateNormal]; 
    [[UISlider appearance] setMaximumTrackImage:[[UIImage imageNamed:@"slider_maximum_value"] resizableImageWithCapInsets:UIEdgeInsetsMake(0, 10, 0, 0)] forState:UIControlStateNormal]; 
} 

[[UISlider appearance] setThumbImage:[UIImage imageNamed:@"slider_button"] forState:UIControlStateNormal]; 
[[UISlider appearance] setThumbImage:[UIImage imageNamed:@"slider_button"] forState:UIControlStateHighlighted]; 
+0

我的問題是不是IOS版本。相反,它會問爲什麼跟蹤圖像消失? – fibnochi 2013-02-28 14:28:18

+0

注意'resizableImageWithCapInsets:'方法。它解決了重複的圖像問題。而且你沒有設置強調拇指狀態。 – pbibergal 2013-02-28 14:51:54