第一个iOS应用 —— Hello world!
其实在网上已经有不少人写过类似的教程,但是Xcode本身升级比较快,网上的一些入门教程还是基于Xcode 3的。工作之余花点时间整理了一个简单的教程,希望对准备投身加入iOS开发行列的程序员朋友有所帮助。
很多开发软件的教程开篇第一个例子通常都是Hello world。有人戏称这是一个程序员魔咒“从Hello world开始能够让你快速地掌握一门语言”嘿嘿。那么也让我们从Hello world开始iOS开发之旅吧。:]
目标
- 熟悉iOS IDE集成环境;
- 创建第一个项目;
- 整理项目结构;
- 增加Hello World文本标签;
- 设置应用方向;
- 隐藏状态栏。
一. 熟悉iOS IDE集成环境
二. 创建第一个项目
- Company Identifier: 公司标示,此处输入一个唯一标示即可,也可以在项目中统一修改;
- Class Prefix: 默认类前缀,为了避免与其他类混淆,此处最好输入一个前缀名称,默认使用全大写字母,保留为空也可以,本示例中使用JOY做为类的前缀名称;
- Device Family: 设备类型,可以选择“iPhone”“iPad”或者“Universal”(通用,同时支持iPhone和iPad) ;
- Storyboard: 是Xcode 4.x新增特性,是以前版本的xib的一个扩展升级,让程序的UI设计更加的简化;
注意:基于Storyboard的应用只能在iOS5以上版本的设备上运行。 - ARC: 是Xcode 4.x新增特性,对于以前版本的iOS程序员每alloc一个对象,都会下意识地先去release它,这是一个非常讨厌的事情。现在有了 ARC,一切都变得更加简单,程序员可以更加专注地处理自己应用的表现。
三. 整理项目结构
1. 在“HelloWorld”上点击鼠标右键,在弹出的菜单中选择“New Group”;
2. 将新建的组重命名为“GUI”;
3. 将我们现在看到的这几个文件拖到“GUI”组中,如下图所示:
提示:先在第一个文件JOYAppDelegate.h上点一下鼠标,然后按住SHIFT,再在最后一个JOYViewController.m上点一下鼠标,即可选中这些文件,然后按住鼠标不放,拖放到GUI上面即可。
四. 增加Hello World文本标签
下面我们来增加一个文本标签,显示Hello World。
1. 在导航区域点击并打开“MainStoryBoard.storyboard”文件,如下图所示:
这是一个空白的StoryBoard,还没有任何的控件。
2. 从右下方的对象区域找到Label控件,并将其拖放到默认的空白View上;
3. 双击这个Label控件,当Label控件中的文字高亮选中时,我们输入一个Hello World!
4. 重新调整一下Label的位置,使其保持在屏幕中央。
现在我们再点击一下左上角的运行按钮,或者按command + R,看一下运行效果。
感觉如何?还不错吧,哈哈,貌似很简单的样子哈,让我们继续。:]
五. 设置应用方向
现在的移动设备大多是支持屏幕旋转的,很多应用程序在用户旋转设备时都会根据用户当前方向,重新布局应用程序界面。在模拟器中,我们可以通过 comand + 左右键旋转模拟器方向,从而达到模拟用户使用过程中旋转设备的效果。
现在我们尝试一下看看效果,如下图所示:
糟糕,刚才的标签现在并不在屏幕中央了。对于复杂UI的应用,可能需要编写一些代码单独根据屏幕的方向重新排列一下各个控件的位置。不过对于现在这个样例,我们完全不用这么做。看看我们如何处理吧。
1. 在导航区域点击并打开“MainStoryboard.storyboard”文件;
2. 在“Hello World”这个标签上点击选中该控件;
3. 点击工具区的“Show the Attributes inspector(显示属性检查器)”,将标签的 Alignment 属性设置为居中,如下图所示:
4. 点击工具区的“Show the Size inspector(显示尺寸检查器)”,将标签的 Autosizing 属性按照下图设置:
下面我们再来运行一次看看,我转,我转,我转转转⋯⋯哈哈,现在无论怎么转Hello World始终都在屏幕的中间位置了。:]
不过细心的朋友此时可能会发现一个问题,那就是当Home键在上方时,Hello World是横屏显示的,而不是我们所期望的那样,这是什么原因呢?
1. 在导航区域点击并打开“JOYViewController.m”文件;
2. 找到shouldAutorotateToInterfaceOrientation方法,原来是在这里限定住了;
3. 把唯一一条语句注释掉,加上一句 return YES; 如下所示:
1 - (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation 2 { 3 // return (interfaceOrientation != UIInterfaceOrientationPortraitUpsideDown); 4 return YES; 5 }
现在我们在运行一下看看效果,OK啦!:]
补充说明
在项目属性设置中有一个支持设备方向的设置属性。
在导航区域点击HelloWorld项目,然后在编辑区域的TARGETS下的HelloWorld点击一下,我们可以看到下图:
原来默认是不支持“Upside Down”这个方向的。不过这个属性修改后,只会影响到我们今后添加的ViewController,而不会对之前的ViewController有任何影响。所以,如果要让HelloWorld支持Upside Down这个方向,我们还是需要手动调整一下代码的。
六. 隐藏状态栏
尽管现在iPhone和新iPad的分辨率都很高,但是其屏幕相比传统的PC的屏幕还是要小很多,在开发iOS应用时,屏幕上的空间可谓是“寸土寸金”,我们需要尽可能地利用屏幕上的每一处空间。现在很多iOS的应用在运行时,都是不显示状态栏的,这是怎么做到的呢?
1. 在导航区域点击并打开“HelloWorld-Info.plist”文件;
2. 在编辑区域的空白处点击鼠标右键,然后在弹出菜单中选择“Add Row”;
3. 在“Key”栏目中使用下拉列表找到“Status bar is initially hidden”,并将其属性设置为“YES”;
运行一下,状态栏不见了!:]
结束语
OK,到此为止“Hello World”项目已经完成。感觉如何?简单吧!
之后我们将逐步深入,开始快乐的iOS开发之旅 :D