iOS 7Development Recipes(中文版)之第二章 Storyboard(2)

2-1 实现一个导航控制器

在这个例子中,我们将创建一个展示公司基本信息的简单工程。它使用导航条来显示当前页面的题目。

            在Xcode中,除了“空项目”模板,其他的模板都可以使用storyboard。在这个例子中,我们使用“Single View Application”模板。将项目命名为“Recipe 2-1to 2-2:About Us”,如下图所示。


当你创建成功后,你将会看到如下的项目结构:包含“Main.storyboard”文件,单击它就可以开始创建你的storyboard了。


你将要做的第一件事就是在主视图中嵌入一个导航控制器。选中主视图,然后Editor->Embed In->Navigation Controller,这样就可以创建一个导航控制器来和你的storyboard连接起来。如下图所示:


最后,创建主界面的UI。添加一个Label,一个text view,两个buttons如下图所示。为了节省空间,视图控制器可以叠加在导航控制器上。


注意:通常我们从Object library中拖出一个导航控制器会默认地带一个表格控制器。这是一个默认的配置。因为我们还没接触到表格控制器,所以在这个例子中,我们的导航控制器是和一个普通视图关联的。

            当你在3.5’’上运行这个程序,下面的两个button会被“砍掉”。为了解决这个问题,你可以这样做:首先选上这两个button,在编辑器的右下角,按下如下图所示的按钮,然后选择“reset to suggested constraints”。这是一个自动布局的特性,我们将在第三章详细讨论。


在storyboard上添加一个新场景

            接下来,向storyboard添加一个新场景:当我们点击“Contact Us”按钮时展示公司联系的信息。从object library中拖出一个新的视图控制器放在storyboard上。向下图所示的配置新的视图控制器。



为了将新的视图控制器和“Contact Us”按钮关联起来,首先选中“Contact Us”按钮,同时按住Control,将鼠标拖向新的控制器,此时你就可以创建一个segue.


当你松开鼠标时,会弹出下面这个窗口问你想要那种传递方式。你可以选择push, modal, custom三种方式。因为你正在使用导航控制器,所以应该选择“push”,这样导航条的返回按钮就可以自动设置(为上一页的标题)。做完这个连接之后,你会发现你的导航条已经自动添加到了新的视图上。

            想要导航条显示当前页面的标题,其中有一种方式是选择“Navigation Item”,还有一个方式就是点击导航条,再在“属性查看器”中找到“Title”属性,设置我们的主界面控制的标题为“About Us”。然后选择含有公司联系信息的视图,设置其导航项的标题为:“Contact Info”

            你还要设置之前创建的segue的identifier属性:选中该segue,在“属性查看器”中设置identifier为“ContactInfoPush”,如下图所示。



给每个segue设置一个identifier是一个很好的习惯,特别是当某一个视图有若干个segues的时候,你就可以检查identifier的值从而做出判断。通常,我们使用“prepareForSegue”方法来处理。

如果你现在运行该app,“Contact Us”按钮将会起作用:当点击它的时候就会跳转到“Contact Info”视图。注意,这个功能的实现一行代码都没有用。



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值