2012-09-21 92 views
4

所以我有這段代碼創建一個自定義UISlider。它工作正常,直到IOS 6.在IOS 6中圖像不顯示,它顯示默認滑塊。有人可以解釋爲什麼會發生這種情況嗎?自定義UiSlider IOS 6

[sliderFPS setMinimumTrackImage:[[UIImage imageNamed:@"camera_slider_empty.png"] stretchableImageWithLeftCapWidth:8 topCapHeight:0] 
         forState:UIControlStateNormal]; 
[sliderFPS setMaximumTrackImage:[[UIImage imageNamed:@"camera_slider_full.png"] stretchableImageWithLeftCapWidth:8 topCapHeight:0] 
         forState:UIControlStateNormal]; 

[sliderFPS setThumbImage:[UIImage imageNamed:@"camera_fps_slider_button"]  
       forState:UIControlStateNormal]; 

回答

7

我希望這將document幫助..

因爲methos下面的iOS已經過時5.

- (UIImage *)stretchableImageWithLeftCapWidth:(NSInteger)leftCapWidth topCapHeight:(NSInteger)topCapHeight 

根據你的代碼,使用這個而不是前兩行。

[sliderFPS setMinimumTrackImage:[[UIImage imageNamed:@"camera_slider_empty.png"] resizableImageWithCapInsets:UIEdgeInsetsFromString(@"8")] 
         forState:UIControlStateNormal]; 
[sliderFPS setMaximumTrackImage:[[UIImage imageNamed:@"camera_slider_full.png"] resizableImageWithCapInsets:UIEdgeInsetsFromString(@"8")] 
         forState:UIControlStateNormal]; 
3

stretchableImageWithLeftCapWidth:topCapHeight:被棄用iOS 5中使用resizableImageWithCapInsets:代替

+0

已棄用並不表示無法使用。這意味着它被一個更新的方法取代,你應該過渡(但不是必須的),因爲它在不久的將來將不再可用。它在iOS 6中完全刪除嗎? – Lefteris

+0

它應該(它爲我返回一個圖像)仍然在iOS6的工作,但不應該依賴,並且這是iOS6的變化也許行爲不總是相同的 – wattson12

+0

是的,你應該改變代碼之前提交一個新的建立,但我不認爲這是爲什麼滑塊不工作的原因.... – Lefteris