iOS开发系列——文件结构

这里对于Xcode默认为我们生产的项目结果文件做一下简单介绍:

小编有个自己学习交流群681503716(验证编号:大鲨)在iOS学习道路上的小伙伴可以加一下哦~

  1. AppDelegate(.h/.m):应用程序代理,主要用于监听整个应用程序生命周期中各个阶段的事件;
  2. ViewController(.h/.m):视图控制器,主要负责管理UIView的生命周期、负责UIView之间的切换、对UIView事件进行监听等;
  3. Main.storyboard:界面布局文件,承载对应UIView的视图控件;
  4. Images.xcassets:应用程序图像资源文件;
  5. Info.plist:应用程序配置文件;
  6. main.m:应用程序入口函数文件;
  7. xxx-prefix.pch:项目公共头文件,此文件中的导入语句在编译时会应用到所有的类文件中,相当于公共引入文件(注意在Xcode6中没有提供此文件)

Images.xcassets

关于AppDelegate、main.m前面已经介绍过了,ViewController和Main.storyboard在后面介绍,这里先说一下Image.xcassets文件。在Xcode中打开这个文件会发现里面有两个设置项:AppIcon和LaunchImage

AppIcon

在AppIcon中可以看到三个图标设置,当我们勾选了右侧ios6.1 and Prior Sizes或者其他选项这个图标会自动增多,也就是说可以设计的图标跟应用程序准备支持的设备系统有关,这里我们就以默认的ios7为例(现在基本上设备都升级到ios7了):

a.iPhone Spotlight-iOS5,6 Settings-iOS 5-7 29pt:用于设置iOS5或者iOS6的搜索图标以及iOS5、iOS6、iOS7的设置图标,大小是58*58。

iOS搜索图标:

iOS设置图标:

b.iPhone Spootlight iOS 7 40pt:设置iOS7的搜索图标,大小是80*80。具体参见上图。

c.iPhone App iOS7 60pt:设置iOS7的应用图标,大小是120*120。

iOS应用图标:

LaunchImage

在LaunchImage中两个图标设计主要用于竖屏启动图

a.iPhone Portraint iOS7 2x:大小为640*1136的启动图片;

b.iPhone Portraint iOS7 R4:大小为640*960的启动图片;

其实上面的图片并不是所有图片都必须设置,具体要求可以直接查看苹果官方要求,例如这里我们设置应用图标和R4启动图片后具体效果如下(这里使用的图标取材来自微信):

上面我们添加了一个应用图标和一个启动图片,在Images.xcassets上右键在Fiddler中查看文件内容并进入Images.xcassets文件夹,可以看到两个子文件夹:AppIcon.appiconset和LaunchImage.launchimage,如下图:

两个文件夹中分别存放了我们前面设置的图片资源,除此之外还各有一个Contents.json文件,在这个文件中记录的资源信息,例如AppIcon.appiconset文件夹中的Contents.json内容如下,这里记录了每个图标的大小名称等信息:

Info.plist

Info.plist文件记录了应用程序的配置信息,如下图:

其实这些信息我们可以在项目属性中进行配置,效果和编辑这个文档是一样的,大家可以对照查看:

原创声明,本文系作者授权云+社区发表,未经许可,不得转载。

如有侵权,请联系 yunjia_community@tencent.com 删除。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏IT开发技术与工作效率

IntelliJ IDEA 教程 技巧篇本篇概要

1132
来自专栏前端侠2.0

draggable 属性 原

昨天是在document上绑定mousedown ,mousemove ,mouseup事件,来实时计算,并设置相应元素的宽度,这是最直接想到的办法,就不再多说...

1471
来自专栏守望轩

Visual Studio 2008 每日提示(十四)

#131、你为什么会把窗体设置成为浮动(模式) 原文链接:Why you would want to make a Tool Window Floating ...

3527
来自专栏cnblogs

关于HTML面试题汇总之H5

一、H5有哪些新特性,移除了哪些元素?如何处理h5新标签的浏览器兼容性问题,如何区分html和html5 1. html5不在是SGL(通用标记语言)的一个子集...

2555
来自专栏Python研发

购物时添加数量

801
来自专栏前端架构与工程

解决transition动画与display冲突的几种方法

如demo(如果没有显示,请查看源地址http://jsfiddle.net/ihardcoder/HNduT/2/)所示,基本的效果是在点击“Translat...

1976
来自专栏听雨堂

asp.net中几种页面元素的比较

学习ASP.NET也快三个月了,今天才对页面中几种不同元素区分开,惭愧! 1)HTML元素:跟普通的网页中的标签所定义的一样,没有服务器端的事件响应,能够直接...

19410
来自专栏微信小开发

微信小程序开发-常见问题

知晓程序员,专注微信小程序开发的程序员! 好久没写文章,今天总结一下小程序开发过程中遇到的问题,有不对的地方,欢迎各位指正~ 1、域名必须是HTTPS2、inp...

2479
来自专栏听雨堂

为服务器控件加入客户端事件处理的几种方法

    服务器端的处理虽然方便,但因为每次都要PostBack,因而效率不高,很多时候需要为服务器端控件写入客户端事件处理。把各种方法总结一下:     1)在...

1918
来自专栏前端人人

React第三方组件5(状态管理之Redux的使用④TodoList下)

本教程总共6篇,每日更新一篇,请关注我们!你可以进入历史消息查看以往文章,也敬请期待我们的新文章! 1、React第三方组件5(状态管理之Redux的使用①简...

3715

扫码关注云+社区