第二章:使用Storyboard设计用户界面(二)

来源:互联网 发布:四大公司人工智能 编辑:程序博客网 时间:2024/06/05 21:51

下一步我们重命名按钮。双击按钮然后修改名字为“Hello World”。点击Xcode中的运行按钮,我们将在仿真器中看到Hello World按钮如图。是不是很酷啊?但是当我们点击按钮,没有任何反应。我们还需要添加一些代码用于显示“Hello, World”。



在Hello World按钮上编程

迄今为止你已经完成了HelloWorld app的UI设计。是时候开始写代码了!在项目导航栏中,你可以看到ViewController.swift。因为我们使用的是“Single View Application”项目模板,所以Xcode已经在ViewController.swift中生成了ViewController类。为了在按钮点击时显示一条消息,我们需要在文件里写一些代码。



Swift和Objecttive-C

如果你以前写过Objectiv-C代码,你会发现Swift中有一个重大改变是将.h和.m文件合并为.swift文件。

选择代码文件,然后编辑区域会立刻显示源码。在ViewController中输入下面的代码。



输入完毕后,你的源码应该是这样的:



刚才写的代码的功能是在ViewController类中添加showMessage()方法。Swift中方法的概念对你来说是新概念。我们将会在后面的章节中介绍。现在,你就帮showMessage()当做是一个动作。当这个动作被调用时,iOS将在屏幕上输出“Hello World”消息。

将代码和用户界面关联

在前面说过iOS开发中最优雅的部分就是用户界面(storyboard)和代码(.swift文件)相分离。但是这样的话我们如何才能在用户界面和代码之间建立联系。

如果使用当前的例子进行解释的话,这个问题就转换为:我们如何才能在Storyboard中的“Hello World”button和ViewController中的showMessage()之间建立联系。



你需要在“Hello World”button和showMessage()方法之间建立联系,这样的话如果有人按下Hello World button的话,app将会有所回应。我们选择”Main.storyboard“切换回Interface Builder界面。

按住键盘上的control键,点击“Hello World“按钮然后拖拽到View Controller图标上。

同时释放鼠标和键盘然后可以在弹出窗口中的Sent Events下面看到“ShowMessage“。选择它,这样的话我们就在按钮和”ShowMessage”方法之间建立了联系。

测试你的App

好了,你现在可以开始测试你的第一个App了。点击“Run”按钮。如果没有问题的话,你的app将会在仿真器上正确运行。这次运行,app将会在你点击Hello World按钮时显示一条欢迎信息。



启动界面

当app开始运行时,你会看到如图显示的启动界面。当加载界面消失后显示Hello World程序界面。



一直以来在app启动后,实际的app界面运行之前,app会率先显示一张静态图片(我们称之启动图片)。启动图片给用户一个印象:你的app运行迅速并且响应快速因为一启动界面就出现了。在iOS 8和Xcode 6中,Apple公司允许开发者使用Interface Builder创建启动界面替代静态启动图片。

在Xcode

6中创建的任何一个项目,你都会看到一个XIB 启动界面文件,这是默认的启动加载文件。像HelloWorld项目,你可以在项目导航中找到LaunchScreen.xib。默认情况下,启动界面包含了项目的名字和版权信息。你可以像定制Hello World中view controller一样定制屏幕信息。同时,你也可以保持默认不变。我们将在你完成一个真实的app后在讨论启动界面。

修改Button的颜色

在本章结束之前,我还想和大家分享一件事情。正如在前面提到的,你不需要通过编写代码定制UI。这里我向大家演示一下修改一个button的属性是一件多么简单的事情。选择“Hello World”button然后点击工具区域的属性检查器。这里你可以访问button的属性。你可以修改字体,文本颜色,背景颜色等等。在Button Section下面选择文本颜色为白色,同时在View section下面选择背景为橘色或者你想要的任何颜色。



下章简介

首先恭喜大家,你成功创建了你第一个app。这是一个简单的app,但是我相信大家已经对Xcode 6和如何创建一个App有了进一步的了解。是不是很简单啊?

在下一章,我们将会讨论Hello World app的细节并且解释每个模块是如何协同工作的。

原创粉丝点击