让你的应用支持新iPad的Retina显示屏

上周起大家伙纷纷开始上手第三代iPad了。由于新iPad采用了Retina显示屏,分辨率较上一代iPad增加了一倍(译者:长宽增加一倍,像素是上一代的四倍)。为了支持新增的这些个像素,iOS开发者需要考虑升级自己的iPad应用,我在下文列举了一些必须注意的事项。

一、应用图片
标准iOS控件里的图片资源,苹果已经做了相应的升级,我们需要操心的是应用自己的图片资源。就像当初为了支持iPhone 4而制作的@2x高分辨率版本(译者:以下简称高分)图片一样,我们要为iPad应用中的图片制作对应的高分版本。我知道不少开发者很有预见性的早在iOS 5.0 SDK上就完成了这一步升级。可是我还是要强调一点,那就是之前 Michael Jurewitz (@Jury)在推上提到过的:

— 如果想让你的高分图片显示在新iPad上,你必须用Xcode 4.3.1 连同iOS 5.1 SDK编译!


二、应用图标

接下来肯定就是为应用主图标制作高分版本了,因为低分版的图标在新iPad桌面上看起来会惨不忍睹。为了支持更多的iOS设备、更高分辨率的屏幕,iOS开发者需要为自己的应用准备各种尺寸的主程序图标文件,而且这个文件列表貌似会越来越长越来越长……(译者:叹气~)。详情请参考最新的苹果开发者文档 iOS App Programming Guide 和 iOS Human Interface Guidelines 。从官方文档中,我找出来针对新iPad的Retina显示屏我们需要准备的东西:

iPad主应用图标 (144×144像素):之前用在iPad 1、2代上的是72×72 像素。现在我们需要额外的@2x版本(144×144 像素)。

iPad搜索结果图标 (100×100像素):这个图标出现在系统搜索结果中(译者注:还有在系统设置中,如果应用支持的话)。之前版本用的是50×50像素,现在@2x版本需要100×100像素。

文件命名和Info.plist文件
根据你的应用需要支持的iOS最低版本不同,你可能需要在Info.plist文件中指定图标文件名,或者是按照苹果的规范命名不同版本的主图标文件。最悲催的情况恐怕就是,你搞的是一个即可跑在iPhone也可跑在iPad上的通用应用(universal app),并且你打算支持iOS 3.1.x甚至更早的版本(译者:其实现在iOS 4.0及以上版本的设备普及率已经很高了,完全没有必要支持古董级的版本,咱又不是Android)。因为iOS 3.2之前是不支持在Info.plist文件里面指定图标文件的,所以你得使用苹果指定的规范去命名图标文件。一个完整的列表差不多就是下面这个样子:
● Icon.png – 57×57 iPhone应用图标
● [email protected] – 114×114 iPhone Retina显示屏应用图标
● Icon-72.png – 72×72 iPad应用图标
● [email protected]  - 144×144 iPad Retina显示屏应用图标
● Icon-Small.png – 29×29 iPhone 系统设置和搜索结果图标
● [email protected] – 58×58 iPhone Retina显示屏 系统设置和搜索结果图标
● Icon-Small-50.png – 50×50 iPad 系统设置和搜索结果图标
● [email protected] – 100×100 iPad Retina显示屏 系统设置和搜索结果图标
 
如果你的应用仅兼容iOS 3.2及之后的版本,那么你可以在Info.plist文件里面指定图标文件,你不用遵守上面的命名规范,当然你非要那么命名也没有问题(译者:为了便于和美工沟通和日后项目资源的管理,还是建议遵循这套规范)。在iOS 3.2中,苹果在Info.plist文件中引入了CFBundleIconFiles键,在此其中你可以直接指定应用图标的各种版本。如果你忽略了.png的后缀名,那么你也可以忽略高分版本图片的@2x部分,系统会自动匹配。

苹果在iOS 5.0中为了支持报刊杂志(Newsstand)功能,再次引入了一个新的键 CFBundleIcons,这让事情变得更加复杂起来(译者:再次叹气~)。这个键下含有子键CFBundlePrimaryIcon,里面的CFBundleIconFiles子键保存着在此之前保存在Info.plist根节点CFBundleIconFiles键里面的内容。如果你的应用仅支持iOS 5.0及之后版本,那么用一个 CFBundleIcons键就可以,否则的话你还需要同时保留CFBundleIconFiles键和相关内容。

(译者:这里原文讲述稍微有点偏差,未提到CFBundlePrimaryIcon,而且比较混乱,令人费解。其实在Xcode里面以默认方式打开Info.plist看到的会是Icon Files和Icon Files(iOS 5)两组键)

总之,为了做到向后兼容,这个环节会给开发者带来一点小混乱,相当容易犯错。所以,建议开发者针对不同的设备、屏幕组合多做测试。
 
三、应用商店截屏图片

苹果近期对应用提交做出了规则调整,如若是iPhone、iPod touch应用,必须提交Retina显示屏高分版本的应用屏幕截图。具体图片尺寸要求如下 (前面的尺寸是含系统状态栏情况下的截图):
- 横屏: 960×640 或 960×600
- 竖屏: 640×960 或 640×920

目前苹果尚未对iPad应用提交也做出类似要求,但是为了让你的应用截图在新iPad上看起来呼之欲出,现在是时候考虑使用高分版本截图了。对应的截图尺寸如下 (前面的尺寸是含有状态栏情况下的截图):
- 横屏: 2048×1536 或 2048×1496像素
- 竖屏: 1536×2048 或 1536×2008像素

译者注:原文评论中有人做了补充的,运行时的载入画面,针对新iPad屏幕也需要准备,文件命名和尺寸要求:
- 横屏: Default-Landscape@2x~ipad.png (2048×1496像素)
- 竖屏: Default-Portrait@2x~ipad.png (1536×2008像素)



第二份资料

-----------------------------------------------------------------------------------------------------------------------------

-----------------------------------------------------------------------------------------------------------------------------

ICON 设置 官网文档:http://developer.apple.com/library/ios/#qa/qa1686/_index.html

iPhone、iPad通用的设置

图片大小 (px)

文件名

用途

重要程度

512x512

iTunesArtwork

iTunes 商店中展示

在iTunes中获取iTunesArtwork图片

①打开iTunes,点击左侧的iTunes Store,在选中的应用图标上右键 拷贝链接,

之后在浏览器中打开链接(这个链接是应用在AppStore上的介绍页面)

如:http://itunes.apple.com/cn/app/pocket-rpg/id411690524?mt=8

②在显示的页面中,用浏览器上带的开发工具,定位到页面左上角的

175×175的应用ICON

如:http://a3.mzstatic.com/us/r1000/089/Purple/43/61/36/mzl.gvbidihl.175x175-75.jpg

之后将这个链接中的175x175改成512x512后,再打开就得到了对应的

iTunesArtwork图片了

http://a3.mzstatic.com/us/r1000/089/Purple/43/61/36/mzl.gvbidihl.512x512-75.jpg

可以没有,推荐有

如果没有,在ituens中就不能显示图标,如图:


未知风格,是因为 Ad Hoc版本,就是测试版,

没有正式发布到App Store 上 

57x57

Icon.png

iPhone/iPod touch上的App Store以及Home界面

这个真得有

114x114

[email protected]

iPhone 4(高分辨率)Home 界面  [App Icons 设置中的Retina Display]  

可以没有,推荐有

72x72

Icon-72.png

兼容iPad的Home界面  [App Icons 设置中的第一个图片]  

可以没有,推荐有

29x29

Icon-Small.png

Spotlight搜索以及设置界面

可以没有,推荐有

50x50

Icon-Small-50.png

兼容iPad的Spotlight搜索

如果有设置束,最好有

58x58

[email protected]

iPhone 4(高分辨率)的Spotlight搜索和设置界面

如果有设置束,最好有

320x480            Default.png                     iPhone4  Launch Images  

640*960            [email protected]             iPhone4 Launch Images 

768x1024          Default-Portrait~ipad.png    iPad Launch Images 

1024x768          Default-Landscape~ipad.png  iPad Launch Images 

Default-Landscape~ipad.png专为iPad的应用程序

图片大小 (px)

文件名

用途

重要程度

512x512

iTunesArtwork

iTunes 商店中展示

可以没有,推荐有

72x72

Icon-72.png

App Store以及iPad上的Home界面

这个真得有

29x29

Icon-Small.png

iPad上的设置界面

如果有设置束,最好有

50x50

Icon-Small-50.png

兼容iPad的Spotlight搜索

可以没有,推荐有


现在不提供iPhone4的必须图标[email protected],将通不过App Store的审核,所以,现在[email protected]也是必须的了。

iPhone tab bar Item image

Standard display
  30x30 .PNG, 24-bit with transparency (but use only 1 color). Worst case size ~350 bytes. 标准的设置 tabicon.png  

Retina display 
  60x60 .PNG, 24-bit with transparency (but use only 1 color). Worst case size ~2000 bytes.    [email protected]

参考转自: http://shy818818.blog.163.com/blog/static/93398309201157104340600/

http://developer.apple.com/library/ios/#documentation/UIKit/Reference/UITabBarItem_Class/Reference/Reference.html

iphone启动页面,Default.png

延长Default.png显示的时间

在delegate.m加入线程延迟

-(Bool)application:(UIApplication *)application didFinishLaunchingWithOptions:  (NSDictionary *)launchOptions

{

   [NSThread sleepForTimeInterval:10];

   .............

}

应用的Default.png图片显示的时间 和 机器加载应用的速度成正比,加载越快,显示的时间越短,加载越慢,显示的时间越长,

感觉快的话,可以用上面方法延长它的显示时间


iOS设备现在有三种不同的分辨率:

iPhone 320x480, 

iPhone 4 640x960, 

iPad 768x1024。

以前程序的启动画面(图片)只要准备一个Default.png就可以了,但是现在变得复杂多了。

如果一个程序,既支持iPhone又支持iPad,那么它需要包含下面几个图片:

Default-Portrait.png iPad专用竖向启动画面 768x1024或者768x1004

Default-Landscape.png iPad专用横向启动画面 1024x768或者1024x748

Default-PortraitUpsideDown.png iPad专用竖向启动画面(Home按钮在屏幕上面),可省略 768x1024或者768x1004

Default-LandscapeLeft.png iPad专用横向启动画面,可省略 1024x768或者1024x748

Default-LandscapeRight.png iPad专用横向启动画面,可省略 1024x768或者1024x748

Default.png iPhone默认启动图片,320x480或者320x460

[email protected] iPhone4启动图片640x960或者640x920


为了在iPad上使用上述的启动画面,你还需要在info.plist中加入

key: UISupportedInterfaceOrientations。

同时,加入值

UIInterfaceOrientationPortrait

UIInterfaceOrientationPortraitUpsideDown

UIInterfaceOrientationLandscapeLeft

UIInterfaceOrientationLandscapeRight。

iPhone上实现Default.png动画
原理:
添加一张和Default.png一样的图片,对这个图片进行动画,从而实现Default动画的渐变消失的效果。
操作:
在- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions中添加如下代码:
 // Make this interesting.
    UIImageView *splashView = [[UIImageView alloc] initWithFrame:CGRectMake(0,0, 320, 480)];
    splashView.image = [UIImage imageNamed:@"Default.png"];
    [self.window addSubview:splashView];
    [self.window bringSubviewToFront:splashView];
    [UIView beginAnimations:nil context:nil];
    [UIView setAnimationDuration:2.0];
    [UIView setAnimationTransition:UIViewAnimationTransitionNone forView: self.window cache:YES];
    [UIView setAnimationDelegate:self]; 
    [UIView setAnimationDidStopSelector:@selector(startupAnimationDone:finished:context:)];
    splashView.alpha = 0.0;
    splashView.frame = CGRectMake(-60, -85, 440, 635);
    [UIView commitAnimations];
就ok了



Sizes of iPhone UI Elements


让你的应用支持新iPad的Retina显示屏_第1张图片
Element Size (in points)
Window (including status bar) 320 x 480 pts
Status Bar
(How to hide the status bar)
20 pts
View inside window 
(visible status bar)
320 x 460
Navigation Bar 44 pts
Nav Bar Image /
Toolbar Image
up to 20 x 20 pts (transparent PNG)
Tab Bar 49 pts
Tab Bar Icon up to 30 x 30 pts (transparent PNGs)
Text Field 31 pts
Height of a view inside 
a navigation bar
416 pts
Height of a view inside 
a tab bar
411 pts
Height of a view inside 
a navbar and a tab bar
367 pts
Portrait Keyboard height 216 pts
Landscape Keyboard height 140 pts
Points vs. Pixels
The iPhone 4 introduced a high resolution display with twice the pixels of previous iPhones. However you don't have to modify your  code to support high-res displays; the coordinate system goes by points rather than pixels, and the dimensions in points of the screen and all UI elements remain the same.
iOS 4 supports high resolution displays (like the iPhone 4 display) via the  scale property on UIScreen, UIView, UIImage, and CALayer classes. If the object is displaying high-res content, its scale property is set to 2.0. Otherwise it defaults to 1.0.
All you need to do to support high-res displays is to provide @2x versions of the images in your project. See the  checklist for updating to iOS4 or  Apple documentation for  Supporting High Resolution Screens for more info.
Adjusting Sizes
Click here to see how to adjust  View Frames and Bounds.
Additional References
  • Apple Documentation: Points vs. Pixels
  • Apple Documentation: UIBarButtonItem Class Reference says "Typically, the size of a toolbar and navigation bar image is 20 x 20 points."
  • Apple Documentation: UITabBarItem Class Reference says "The size of an tab bar image is typically 30 x 30 points."

// ----------------------------------------------------------------------------------------------------

圆角半径

iTunes Artwork icon ───────────────────────── 512px (90px)

App icon(iPhone4) ────────────────────────── 114px (20px)

App icon(iPad) ───────────────────────────── 72px (12px)

App icon(iPhone 3G/3GS) ───────────────────── 57px(10px)

Spotlight/Settings icon icon(iPhone4) ───────────── 58px (10px)

Spotlight/Settings icon icon(iPhone 3G/3GS/iPad) ──── 29px (9px)

=====================================================================

 

Designing an app for iPhone, iPad or iPhone4 Here's a couple of things to keep in mind:
iPhone & iPod Touch (1st, 2nd & 3rd Generation)
   Portrait: 320 x 480 px, 320 x 480 point
   Landscape: 480 x 320 px, 480 x 320 point
   Status Bar: 20px, 20point
   DPI: 163dpi
   Color Mode: 8bit RGB
   Color Temperature: Warm
   Application icon: 57 x 57 px, 57 x 57 point
   Appstore icon: 512 x 512 px, 512 x 512 point
   Spotlight search icon: 29 x 29px, 29 x 29 point
   Document icon: 22 x 29 px, 22 x 29 point
   Webclip icon: 57 x 57 px, 57 x 57 point
   Toolbar icon: 20 x 20 px, 20 x 20 point
   Tab bar icon: 30 x 30 px, 30 x 30 point
   Launch image:  see above portrait/landscape


iPhone4
   Portrait: 640 x 960 px, 320 x 480 point
   Landscape: 960 x 640 px, 480 x 320 point
   Status Bar: 40px, 20point
   DPI: 326dpi
   Color Mode: 8bit RGB
   Color Temperature: Cool
   Application icon: 114 x 114 px, 57 x 57 point
   Appstore icon: 512 x 512 px, 512 x 512 point
   Spotlight search icon: 58 x 58 px, 29 x 29 point
   Document icon: 44 x 58 px, 22 x 29 point
   Webclip icon: 114 x 114 px, 57 x 57 point
   Toolbar icon: 40 x 40 px, 20 x 20 point
   Tab bar icon:  60 x 60 px, 30 x 30 point
   Launch image:  see above portrait/landscape


Notes: effectively pixel-doubled previous generations, bare in mind the screen is the same size and concessions will have to be made e.g. keeping assets the same *physical size but doubling their effective resolution. see below.*
iPad
   Portrait: 768 x 1024px, 768 x 1024point
   Landscape: 1024 x 768px, 1024 x 768point
   Status Bar: 20px, 20point
   DPI: 132dpi
   Color Mode: 8bit RGB
   Color Temperature: Warm
   Application icon: 72 x 72 px, 72 x 72 point
   Appstore icon: 512 x 512 px, 512 x 512 point
   Spotlight search icon (results): 50 x 50 px, 50 x 50 point
   Spotlight search icon (settings): 29 x 29 px, 29 x 29 point
   Document icon: 64 x 64 px, 64 x 64 point
   Webclip icon: 72 x 72 px, 72 x 72 point
   Toolbar icon: 20 x 20 px, 20 x 20 point
   Tab bar icon: 30 x 30 px, 30 x 30 point
   Launch image: see above portrait/landscape


Notes: many apps include a rounded mask at the corners of the screen/split view - its part of the default view of many apps by the OS. The radius of the rounded corner of these are 6px onto a black background and are optional.
Icon size radii (via Toxinide):
   29x29px, border-radius: 5px
   50x50px, border-radius: 9px
   57x57px, border-radius: 10px
   58x58px, border-radius: 10px 
   72x72px, border-radius: 12px
   114x114px, border-radius: 20px 
   512x512px, border-radius: 90px


你可能感兴趣的:(ios,xcode,iPhone,文档,ipad,interface)