2011-04-15 58 views
0

我有一個TabBarController應用程序,它可以從網絡獲取所有圖像,包括tabBarController的圖標。我想要的是當設備具有視網膜顯示時圖像看起來很好。UITabBarItem在視網膜顯示器中的圖像大小

這是我在做什麼:

  1. 向下調整大小取決於屏幕比例圖像。
  2. 設置視圖內容比例:imageView.contentsScale = [UIScreen mainScreen] .scale;

這對UIImageView的標準圖像工作正常,但我無法弄清楚如何爲UITabBarItems做到這一點,因爲我無法訪問框架或contentScale。

任何想法?

謝謝!

回答

0

如何確定設備是否是視網膜,並相應地下載不同的資產?

+1

感謝您的回答,但問題是,如果我爲tabBarIcon設置高分辨率圖像(60px而不是30px)作爲圖像,則繪製得太大。我錯過了一些東西,不知道是什麼.. – Aklope 2011-04-15 17:28:14

3

創建UIImage時,可以將圖像的縮放比例設置爲2.0來獲得視網膜大小的圖像資源。這裏是我是如何做的一個樣本:

NSData *data = [NSData dataWithContentsOfURL:[NSURL URLWithString:url]]; 
UIImage *image = [UIImage imageWithData:data]; 
CGImageRef cgimage = image.CGImage; 
image = [UIImage imageWithCGImage:cgimage scale:2.0 orientation:UIImageOrientationUp]; 

現在你可以在你的UITabBarItem使用此圖像。

2

您可以創建兩個版本的圖像,並將它們命名爲image.png爲30px,[email protected]爲60px。 然後使用此:

UIImage *image = [UIImage imageNamed:@"image.png"]; 

右分辨率圖像將根據該設備上的顯示器上被加載。