XCode 4.2.1 项目的模版截图:

Single View Application

This template provides a starting point for an application that uses a single view. It provides a view controller to manage the view, and a storyboard or nib file that contains the view.

最常用的应用模版,XCode 之前版本的 View-Based Application 跟这个最像。

刚开始学习HelloWorld 就应该从这个开始。

只有一个页面

Master-Detail Application

This template provides a starting point for a master-detail application. It provides a user interface configured with a navigation controller to display a list of items and also a split view on iPad.

很多有过一些开发经验的程序员会发现现在为iPhone的Navigation(导航模式)和为iPad的Split(分割模式)的工程模板没有了,其实这个地方就是这两种工程的入口,如果你选择是iPhone版的Master-Detail Application,其实际生成的就是Navigation(导航模式),如果选择iPad,则为Split(分割模式)

Master-Detail 模板能够创建和 Mail 相似的应用。如下,左边导航是 Master,右边每封邮件的细节是 Detail。

ios5之ipad开发之分割试图与弹出层的使用
http://dabailiang.blog.51cto.com/3498372/829542

OpenGL Game

This template provides a starting point for an OpenGL ES-based game. It provides a view into which you render your OpenGL ES scene, and a timer to allow you to animate the view.

这个是生成一个基于OpenGL的工程,值得说明的是,iOS已全面支持OpenGLES 2.0,并且使用shader编程实现其中的功能。

如果你要创建3D游戏或者图形,可以使用这个模板。它会创建一个配置好的视图,专门用来显示GL场景,并提供了一个例子计时器可以令其演示动画。

Page-Based Application

This template provides a starting point for a page-based application that uses a page view controller.

这个是iOS5引入的一个新的类,page view controller,其翻页效果是基于OpenGLES实现的。

选择“Page-based Application”项目模板就可以利用这个模板创建一种“基于页”的应用程序,

如下图,我们可以借用它实现如下的效果:

iOS5 Page-Based Application模板拟真翻页 pdf和ePub源码问题探讨
http://www.devdiv.com/forum.php?mod=viewthread&tid=107224

Tabbed Application

This template provides a starting point for an application that uses a tab bar. It provides a user interface configured with a tab bar controller, and view controllers for the tab bar items.

这个就是大家熟悉的Tab Bar Application,值得一提的就是,现在控制Tab bar内容及其相关View controller都是使用代码来实现的。Tab bar从一开始就可以使用代码控制,不过大部分时候可以通过IB来定义,在XCode4.0之前和4.0中,IB在这个地方的使用方式不同。现在终于要放弃使用IB编辑了。

Tabbed 模板能够创建一个和 iTunes 类似的应用

提供了一种特殊的控制器,会沿着屏幕底部显示一个按钮栏。这个模板适用于像iPod或者电话这样的应用程序,它们都会在底部显示一行标签,提供一系列的快捷方式。

如何创建一个Tab bar Application (xcode 4.2中或者代码的方式)
http://blog.csdn.net/nicktang/article/details/6854996

Utility Application

This template provides a starting point for a utility application that has a main view and an alternate view. For iPhone, it sets up an Info button to flip the main view to the alternate view. For iPad, it sets up an Info bar button that shows the alternate view in a popover.

这个唯一新增的就是支持iPad了,而且很少用到这个模板。

Xcode Utility Application 例子 数据传递与共享
http://hi.baidu.com/ghina/blog/item/d90bf8b3622d04b8d9335ae7.html

如下图,第一个页面右下角点击 i 按钮, 出现第二个页面。

Empty Application

This template provides a starting point for any application. It provides just an application delegate and a window.

这个就是原来的Window-Based Application.

如果其他模板都不适合你的需求,就只有用这个非常简单的模板了。它提供了一个简单的、带有一个窗口的应用程序。这是一个应用程序所需的最小框架,你可以用它作为开始来编写你自己的程序。

XCode 3 跟 XCode 4 项目模版的对应关系可以看下表:

Navigation-based Application  ——->Master-Detail Application => iphone

Splite View-based Application ——->Master-Detail Application => ipad

OpenGL ES Application —————>OpenGL Game

Tab Bar Application      —————>Tabbed Application

Utility Application         —————>Utility Application

View-based Application —————>Single View Application

Window-based Application————>Empty Application

在另外两个里面,一个是建一个静态类库的工程,一个创建一个完全空的工程。因此在此不再描述。

转自:http://www.cnblogs.com/ghj1976/archive/2012/04/11/2442569.html

参考资料:

Xcode 4.2 环境下Application8种可选类型分析
http://hi.baidu.com/lee_shine/blog/item/8e2015346fa30594a61e12fc.html

正式投入学习 > 你的第一个 iOS 应用 – 2.开始上手
http://www.guomiicom/posts/20868

新老版 Xcode 的区别
http://waibo.net/2012/03/08/1181.html

Xcode 应用程序常用模板
http://www.cnblogs.com/zjz008/archive/2011/03/23/1992589.html

分享到: 
 

Xocde4与Xcode3的模板比较的更多相关文章

  1. 【开发技术】Xcode3与xcode4.2模板对比(Xcode4.2开发之一些变化)

    Xcode3中IOS下的Application的模板如下: Navigation_Based Application OpenGL ES Application Tab Bar Application ...

  2. xcode5 自定义模板

    经过一番周折,终于在xcode5上实现了一个简单的自定义模板,在项目中集成NSLogger库(增强NSLog的功能,https://github.com/fpillet/NSLogger)——新建项目 ...

  3. Jade模板引擎让你飞

    写在前面:现在jade改名成pug了 一.安装 npm install jade 二.基本使用 1.简单使用 p hello jade! 渲染后: <p>hello jade!</p ...

  4. ABP入门系列(2)——通过模板创建MAP版本项目

    一.从官网创建模板项目 进入官网下载模板项目 依次按下图选择: 输入验证码开始下载 下载提示: 二.启动项目 使用VS2015打开项目,还原Nuget包: 设置以Web结尾的项目,设置为启动项目: 打 ...

  5. CMS模板应用调研问卷

    截止目前,已经有数十家网站与我们合作,进行了MIP化改造,在搜索结果页也能看到"闪电标"的出现.除了改造方面的问题,MIP项目组被问到最多的就是:我用了wordpress,我用了织 ...

  6. PHP-自定义模板-学习笔记

    1.  开始 这几天,看了李炎恢老师的<PHP第二季度视频>中的“章节7:创建TPL自定义模板”,做一个学习笔记,通过绘制架构图.UML类图和思维导图,来对加深理解. 2.  整体架构图 ...

  7. 【原创分享·微信支付】C# MVC 微信支付之微信模板消息推送

    微信支付之微信模板消息推送                    今天我要跟大家分享的是“模板消息”的推送,这玩意呢,你说用途嘛,那还是真真的牛逼呐.原因在哪?就是因为它是依赖微信生存的呀,所以他能不 ...

  8. OpenCV模板匹配算法详解

    1 理论介绍 模板匹配是在一幅图像中寻找一个特定目标的方法之一,这种方法的原理非常简单,遍历图像中的每一个可能的位置,比较各处与模板是否“相似”,当相似度足够高时,就认为找到了我们的目标.OpenCV ...

  9. 前端MVC学习总结(一)——MVC概要与angular概要、模板与数据绑定

    一.前端MVC概要 1.1.库与框架的区别 框架是一个软件的半成品,在全局范围内给了大的约束.库是工具,在单点上给我们提供功能.框架是依赖库的.AngularJS是框架而jQuery则是库. 1.2. ...

随机推荐

  1. jQuery on 绑定的事件触发多次

    jquery用on绑定事件,在代码执行过程中,可能会遇到多次执行的情况. 解决方案是在on的事件前面加上一个off,再on. $('#btnBind').off('click').on('click' ...

  2. [转载]Python & Selenium -- 页面加载时间过长&启动指定FF

    原文链接:https://my.oschina.net/u/2344787/blog/400507?p={{page}} 1. selenium webdriver在get方法会一直等待页面加载完毕才 ...

  3. Linux终端下安装jdk

    linux 终端下安装jdk(rpm方法) 1.下载jdk对应版本rpm文件(以下称为jdk.rpm) 放在对应文件夹下 2.使用命令给定权限 #chmod +x jdk.rpm 3.解压rpm文件 ...

  4. 编译FFmpeg成一个SO库<转>

    转帖地址:http://www.ihubin.com/blog/android-ffmpeg-demo-3/ ============================================= ...

  5. c语言warning总结

    1.function declaration isn’t a prototype括号中无参数,也要加void 2.array subscript is above array bounds数组下标大于 ...

  6. [ 转 ] scrapy 中解决 xpath 中的中文编码问题

    1.问题描述: 实现定位<h2>品牌</h2>节点 brand_tag = sel.xpath("//h2[text()= '品牌']") 报错:Value ...

  7. hadoop-2.2.0 的编译安装及HA配置

    一 准备工作 准备工作中要求有 1.centOs 6.4,添加hadoop用户,配置集群内的/etc/hosts文件. 2.安装hadoop用户的ssh,并打通集群内所有机器,(ha执行fencing ...

  8. vim 使用2 转载 为了打开方便

    http://coolshell.cn/articles/5426.html vim的学习曲线相当的大(参看各种文本编辑器的学习曲线),所以,如果你一开始看到的是一大堆VIM的命令分类,你一定会对这个 ...

  9. http://www.360doc.com/content/13/0516/22/12094763_285956121.shtml

    http://www.360doc.com/content/13/0516/22/12094763_285956121.shtml

  10. Python 操作FTP

    import sys, os, ftplib, socket CONST_HOST = "FTP服务器地址" CONST_USERNAME = "FTP用户名" ...