第一个iOS应用 —— Hello world!

原文地址为: 第一个iOS应用 —— Hello world!

其实在网上已经有不少人写过类似的教程,但是Xcode本身升级比较快,网上的一些入门教程还是基于Xcode 3的。工作之余花点时间整理了一个简单的教程,希望对准备投身加入iOS开发行列的程序员朋友有所帮助。

很多开发软件的教程开篇第一个例子通常都是Hello world。有人戏称这是一个程序员魔咒“从Hello world开始能够让你快速地掌握一门语言”嘿嘿。那么也让我们从Hello world开始iOS开发之旅吧。:]

本篇文章仅供第一次接触iOS开发的程序员参考使用,你会发现,iOS的开发是如此的简单!

目标

本文将阐述以下内容:
  1. 熟悉iOS IDE集成环境;
  2. 创建第一个项目;
  3. 整理项目结构;
  4. 增加Hello World文本标签;
  5. 设置应用方向;
  6. 隐藏状态栏。
看起来很多的样子哈,其实在整个过程,你几乎不用写任何一行代码,就能够完成上述所有工作,让我们现在开始吧。:]

一. 熟悉iOS IDE集成环境

如下图所示,这就是Xcode的集成环境:

对于熟悉ms visual studio或者eclipse的朋友来说,这个IDE环境并不难理解和接受,大家只要记住几个功能区域即可。至于这个环境中存在哪些技巧我会在后续的文章中逐渐补充,毕竟我们现在还什么事情都没开始做,没有必要在这个上面浪费太多的时间。
小提示:在Xcode中很多地方只要用鼠标单击就可以了,这个对于初次接触Xcode的人可能会有些不习惯。

二.  创建第一个项目

1. 打开XCode,选择File->New Project,然后选择iOS->Application->Single View Application,然后点Next,如下图所示:

说明:除OpenGL Game模板外,其他几个模板的程序都非常简单,有兴趣的朋友,可以使用这些模板分别创建空的项目,然后花上几分钟阅读一下代码即可,在本文,我们选择“Singl View Application”这个模板做为示例模板。
 
2. 在弹出的下一个页面中,在Product Name中输入“HelloWorld”,其他设置部分参照下图:

说明:
  • 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,一切都变得更加简单,程序员可以更加专注地处理自己应用的表现。
有关ARC和Storyboard的相关内容,后续我会写一些专门的文章讨论,有兴趣的朋友也可以自己Google一下,相关细节问题,本文中暂时不做详细论述。
 
3. 点击“Next”,然后在下一个弹出的窗口中,选择一个文件夹,保存项目,然后点击“Create”按钮。
好了,到现在我们第一个项目就创建完成了,点击左上角的“Run”按钮,看看效果吧。如下图所示:

现在,我们只是通过了简单的设置就创建了一个能够独立运行的应用,一切就是这么的简单:)。

三. 整理项目结构

此部分内容在开发中不是必须要做的事情,如果你着急看下面要做的事情,可以略过此部分内容。不过,随着我们开发的递进,文件越来越多,对项目结构的整理是非常必要的一件工作,也是一个非常好的习惯。:]
首先我们看一下导航区域,如下图所示:

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


转载请注明本文地址: 第一个iOS应用 —— Hello world!
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值