2013-05-20 31 views
0

我正在UISlider上工作,其中我已經在滑塊上添加了一個拇指圖像(slider_iphone.png 53 X 199)。 without retina image但問題是當我添加視網膜圖像([email protected] 106 X 398)時,拇指圖像變得比簡單圖像更寬和更長。 with retina視網膜中的拇指圖像不工作在UISlider

我已經搜索了很多谷歌和堆棧溢出,但沒有找到任何解決方案。爲什麼它沒有在正確的幀中拍攝視網膜圖像。請提出任何解決方案。

代碼:

slider = [[UISlider alloc]initWithFrame:CGRectMake(0.0,180.0,320.0,180.0)]; 

[slider setMinimumValue:1.0f]; 

[slider setMaximumValue:10.0f]; 

[slider addTarget:self action:@selector(sliderMoved:) forControlEvents:UIControlEventValueChanged]; 

UIImage *sliderTrackImage1 = [[UIImage imageNamed: @"button-transparent.png"] stretchableImageWithLeftCapWidth: 0.0 topCapHeight: 0.0]; 

UIImage *thumb = [UIImage imageNamed:@"[email protected]"]; 

[slider setMinimumTrackImage: sliderTrackImage1 forState: UIControlStateNormal]; 
[slider setMaximumTrackImage: sliderTrackImage1 forState: UIControlStateNormal]; 
[slider setThumbImage:thumb forState:UIControlStateHighlighted]; 
[slider setThumbImage:thumb forState:UIControlStateNormal]; 
+0

不使用視網膜圖像拇指或滑塊的最小值和最大值,使用普通的圖像,如果可能使用可拉伸的圖像。他們將完成任務 –

+0

感謝您的回覆,但客戶詢問爲什麼我們無法使用視網膜圖像作爲此 –

+0

,因爲拇指的大小不會隨着您的圖像增加,它具有一些修正大小,您可以閱讀更多關於它的內容蘋果文檔或谷歌搜索,你會得到答案,雖然你不相信,我堅持使用可伸縮圖像。 –

回答

2

你不應該使用在代碼中定義的@ 2倍的圖像!

在你的包和代碼中都有正常圖像和@ 2x圖像指定正常圖像!

該應用程序將根據設備的屏幕適當選擇需要的圖像。

+0

我已經這樣做了,但它沒有選擇視網膜圖像。但問題是,我應該說爲什麼它不顯示視網膜圖像? –

2

無需添加@ 2倍只是使用此類似:

[self.slider setThumbImage:[UIImage imageNamed:@"n.png"] forState:UIControlStateNormal]; 
+0

我也這樣做過。但它不是選擇視網膜圖像。我想使用視網膜圖像。 –

+1

好的,這是一個問題。如果你認爲你不需要正常的圖像,那麼你可以刪除正常的圖像,只保留視網膜。 –

+0

比它變得更長,更寬,如上圖所示。 –