原文地址为: 第一个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!

第一个iOS应用 —— Hello world!相关推荐

  1. 创建第一个IOS项目

    今天我们创建第一个IOS项目,并在模拟器上运行 首先进入Xcode 点击创建新项目后,接下来该给项目起一个名字啦 HelloWorld! 点击下一步,开始选择模板啦 我们选择SingleView Ap ...

  2. iOS 11开发教程(三)运行第一个iOS 11程序

    iOS 11开发教程(三)运行第一个iOS 11程序 运行iOS11程序 创建好项目之后,就可以运行这个项目中的程序了.单击运行按钮,如果程序没有任何问题的话,会看到如图1.6和1.7的运行效果. 图 ...

  3. iOS 11开发教程(二)编写第一个iOS 11应用

    iOS 11开发教程(二)编写第一个iOS 11应用 编写第一个iOS 11应用 本节将以一个iOS 11应用程序为例,为开发者讲解如何使用Xcode 9.0去创建项目,以及iOS模拟器的一些功能.编 ...

  4. Xamarin iOS开发实战第1章使用C#编写第一个iOS应用程序

    Xamarin iOS开发实战第1章使用C#编写第一个iOS应用程序 C#原本是用来编写Windows以及Windows Phone的应用程序.自从Xamarin问世后,C#的作用就发生了很大的变化. ...

  5. 如何用 React Native 创建一个iOS APP?(二)

    我们书接上文<如何用 React Native 创建一个iOS APP?>,继续来讲如何用 React Native 创建一个iOS APP.接下来,我们会涉及到很多控件. 1 AppRe ...

  6. 开源 | 如何实现一个iOS AOP框架?

    简介:Aspect使用了OC的消息转发流程,有一定的性能消耗.本文作者使用C++设计语言,并使用libffi进行核心trampoline函数的设计,实现了一个iOS AOP框架--Lokie.相比于业 ...

  7. 【一个iOS官方文档错误】关于keyWindow是否可以接受触摸事件?

    [一个iOS文档错误]关于keyWindow是否可以接受触摸事件? 关于keyWindow,官方文档有一个解释: 同一时间只有一个window可以成为keyWindow,keyWindow可以接受键盘 ...

  8. 从0开始架构一个IOS程序—— 05— NavigationBar 搭建首页面

    从0开始架构一个IOS程序 05 NavigationBar搭建首页面 Mac OSX 10.11 之后 效果 在这里的实现思路 创建 navigationItem titleView 添加ViewC ...

  9. 从0开始架构一个IOS程序 ——04— UITabBarController和自定义TabBar 搭建主页面

    从0开始架构一个IOS程序 04 UITabBarController 搭建主页面 Mac OSX 10.11 之后 效果 1 首先创建自定义TabBar 1.1 WISHomeTabBarView. ...

  10. 从0开始架构一个IOS程序——03 — -分包用添加pch全局引用文件

    从0开始架构一个IOS程序 03分包用添加pch全局引用文件 Mac OSX 10.11 之后 PCH文件简介: PCH文件是Xcode编程中全局引用共享的文件.可以在这里引入头文件或者宏定义来方便程 ...

最新文章

  1. Google发布三大新品,Pixel手机价格直逼苹果
  2. 黑客声称盗取微软GitHub账号500GB数据,网友:这些最终都会开源的
  3. VBS基础篇 - 运算符(1) - 运算符优先级
  4. MFC BEGIN_MESSAGE_MAP()
  5. 设主存容量为1MB,外存容量为400MB,计算机系统的地址寄存器有32位,那么虚拟存储器的最大容量是( )
  6. AcWing - 171 送礼物(双向dfs)
  7. 系统学Android从零开始,搞懂这些直接来阿里入职
  8. [css] 说说你对css盒子模型的理解
  9. Perl的特殊变量汇总
  10. Java编程判断一组学生成绩等级
  11. H.264熵编码分析
  12. 工信部电子五所张志强:中国数据库行业发展趋势分析
  13. smartdns使用指南_OpenWrt之SmartDNS 使用教程(PLUS+版)
  14. spring源码解析之---InstantiationAwareBeanPostProcessor解析
  15. 未得冠军的运动员也有教练——Leo鉴书71
  16. 仿微信朋友圈,仿微信小视频 ,录制视频功能
  17. 华为MAC-VLAN举例
  18. 小张初识c语言的成长经历NO.1
  19. 入手评测 海信65e7g pro和雷鸟65r645c 选哪个
  20. pr制作马赛克的效果,动态光效素材应用,

热门文章

  1. 短视频的素材在哪里找呢?推荐给你一个好办法
  2. 沈阳市委书记邀请深兰科技赴沈建厂,助力东北振兴
  3. 优维助力国内某省级商业银行同城异地灾备自动化建设
  4. 2022年北京首店补贴及首店首发项目征集申报情况介绍,补贴200万
  5. Self-assessment Checklists of HSK
  6. 宝石熔炼设备可以融化黄金吗?
  7. socket中的TCP编程(调用免费聊天的机器人实现自动回复)
  8. vimdiff 使用笔记
  9. 征信的用途以及提升途径
  10. html头像动画,用CSS3实现头像旋转效动画