ios项目icon和default图片命名规则
一、应用图片
标准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应用图标
● Icon@2x.png – 114×114 iPhone Retina显示屏应用图标
● Icon-72.png – 72×72 iPad应用图标
● Icon-72@2x.png - 144×144 iPad Retina显示屏应用图标
● Icon-Small.png – 29×29 iPhone 系统设置和搜索结果图标
● Icon-Small@2x.png – 58×58 iPhone Retina显示屏 系统设置和搜索结果图标
● Icon-Small-50.png – 50×50 iPad 系统设置和搜索结果图标
● Icon-Small-50@2x.png – 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 |
Icon@2x.png |
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 |
Icon-Small@2x.png |
iPhone 4(高分辨率)的Spotlight搜索和设置界面 |
如果有设置束,最好有 |
320x480 Default.png iPhone4 Launch Images
640*960 Default@2x.png 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的必须图标Icon@2x.png,将通不过App Store的审核,所以,现在Icon@2x.png也是必须的了。
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. tabicon@2x.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
Default@2x.png iPhone4启动图片640x960或者640x920
为了在iPad上使用上述的启动画面,你还需要在info.plist中加入
key: UISupportedInterfaceOrientations。
同时,加入值
UIInterfaceOrientationPortrait
UIInterfaceOrientationPortraitUpsideDown
UIInterfaceOrientationLandscapeLeft
UIInterfaceOrientationLandscapeRight。
原理:
添加一张和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
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 Imageup 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 bar416 pts Height of a view inside
a tab bar411 pts Height of a view inside
a navbar and a tab bar367 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项目icon和default图片命名规则的更多相关文章
- os项目icon和default 等相关图标命名规则和大小设置
最新的参考apple官网地址:https://developer.apple.com/library/ios/qa/qa1686/_index.html,网页下面有详细的使用方法(ios7以后的) 转 ...
- iOS项目的命名规范
一.关于本文档1.本文档的书写目的 <iOS项目的命名规范>的书写目的,在于让后续参加到该项目的iOS开发人员通过阅读该文档,了解在当前iOS项目的代码中的命名要求并严格按照本文档执 ...
- IOS 项目问题总结
把自己项目中遇到的问题总结一下,供大家参考,希望大家多多提出意见!! 在Xcode 6.2中遇到Your build settings specify a provisioning profile w ...
- 给iOS项目中添加图片,并通过UIImageView引用和显示该UIImage图片
[问题] 关于iOS/iPhone中的文件选择对话框,用于用户去选择图片等文件 过程中,问题转换为,需要给当前iOS项目中,添加一个图片. 类似于Windows开发中的资源文件,其中图片文件属于资源的 ...
- 项目中提示找不到class,跟命名规则有关系RulesConfigDao
项目中提示找不到class,跟命名规则有关系RulesConfigDao,而非Mapper!
- iOS项目的完整重命名方法图文教程
原文链接:http://www.cocoachina.com/ios/20150104/10824.html iOS项目的完整重命名方法图文教程 前言:在iOS开发中,有时候想改一下项目的名字,都会遇 ...
- Cisco IOS版本命名规则
首先说说IOS的运行平台,c2500.c2600.c4500.c2950代表运行此IOS的硬件平台,例如:C2500指2500系列路由器. 其次,看看IOS的版本,IOS有主版本号:11.0.11.1 ...
- iOS开发项目实战——Swift实现图片轮播与浏览
近期開始开发一个新的iOS应用,自己决定使用Swift.进行了几天之后,发现了一个非常严峻的问题.那就是无论是书籍,还是网络资源,关于Swift的实在是太少了,随便一搜全都是OC实现某某某功能.就算是 ...
- iOS开发遇到的坑之四--图片命名不规范
最近上手并主导一个小项目的研发,在开发地图模块的时候,UI切图给我们使用,他给的图片命名是1.1.1.png 1.1.2.png 1.1.3.png 我也没有多看,就直接打包发给小组成员叫他添加到Im ...
随机推荐
- python中panda的dateframe
1 函数介绍 #to_csv函数的语法#函数原型# to_csv(filepath,sep=",",index=TRUE,header=TRUE)#参数介绍: #(1)导出的文件路 ...
- Win7 server2008 共享文件夹 不输入网络密码
如何设置共享文件夹访问不需要输入用户名和密码: 1.“开始”——“运行”——secpol.msc (1)使用空白密码的本地帐户只允许进行控制台登录 禁用它 (2)“本地策略”——“安全选项”——“网络 ...
- 升级到Angular6后对老版本的RXJS代码做相应的调整
还没有了解过RXJS6的童鞋,可以查看我的另外一篇博文,此篇博文主要是对于RXJS5升级到RXJS6的代码调整示例 RXJS5版本 在RXJS5上我们是这样写请求的 import 'rxjs/add/ ...
- MVC 基本工具(Visual Studio 的单元测试、使用Moq)
3.Visual Studio 的单元测试 有很多.NET单元测试包,其中很多是开源和免费的.本文打算使用 Visual Studio 附带的内建单元测试支持,但其他一些.NET单元测试包也是可用的. ...
- 洛谷P3338 [ZJOI2014]力(FFT)
传送门 题目要求$$E_i=\frac{F_i}{q_i}=\sum_{j=1}^{i-1}\frac{q_j}{(i-j)^2}-\sum_{j=i+1}^n\frac{q_j}{(j-i)^2}$ ...
- maven - 安装目录详解
从 Apache Maven 官网下载 Maven 的安装包并解压之后,进入安装目录,我们会看到如下内容: 接下来我们分别解读目录的内容及其功能 bin 包含了mvn运行的脚本,在命令行输入任意一条m ...
- 解决web项目无法部署到eclipse配置的本地tomcat
一.发现问题 在eclipse中新建Dynamic Web Project,配置好本地的tomcat并写好代码后选择Run on Server,但运行后发现在tomcat的安装目录下的webapps并 ...
- Java | 基础归纳 | 随机数应用
Java中一般有两种随机数,一个是Math中random()方法,一个是Random类. Math.random();//返回0~1的中随机数值 Random random = new Random( ...
- Zynq7000开发系列-6(QT开发环境搭建:Ubuntu、Zynq)
操作系统:Ubuntu14.04.5 LTS 64bit Qt:Qt 5.4.2 (qt-opensource-linux-x64-5.4.2.run.qt-everywhere-opensource ...
- CD4051的切换时间
CD4051:1 2 4 5 12 13 14 15 8个选择IO输入/输出端:3:I/O6:片选低电平有效,搞定平所有通道不通9 10 11:地址选择:功能:通过地址选择译码8个中的某个通道与3脚 ...