文档章节

Storyboard教程-创建Tab Bar控制器和Web视图

三只脚的猪
 三只脚的猪
发布于 2014/02/19 09:24
字数 854
阅读 855
收藏 0

Tab Bar控制器和UIWebView

首先,和通常一样,我们简单介绍一下Tab Bar控制器和UIWebView。你可能不属性Tab Bar 这个术语,但是在多数iPhone Apps中经常遇到。看看下面的范例应用程序,它们都使用了Tab Bar控制器在每一个tab 中显示一个独特的视图。通常,一个Tab Bar 至少包含2个tabs,根据需要最多可以添加5个tabs。

另一方面,UIWebView 是加载web内容的轻便组件。在一些情况下,你希望在App中显示一个单一的web页面,或者让用户在App中访问外部web页面,你可以在App中简单嵌入UIWebView对象,向它发送请求,加载web内容。

创建Tab Bar控制器

现在返回Xcode项目,首先回顾我们已经完成的内容。如果你按照前面的教程,应该创建了一个简单的菜谱应用程序,包含了导航界面。尽管没有完整的实现,但是可以正常运行的。

具体内容可以参考:第十一部分:Storyboard 联线教程-在视图控制器间传递数据

在本教程中,我们将完善上述App,并创建一个tab bar界面。你可能认为这个会比较复杂,且需要大量的代码。其实,通过storyboard功能,简化了大量的工作。通过简单点击,就可以轻松将导航控制器(Navigation Controller)嵌入到Tab Bar控制器中。

首先,选择MainStoryboard.storyboard 中的Navigation Controller,接着选择Editor 菜单下面的Embed in 子菜单,然后选择 Tab Bar Controller选项。

从下图中,你可以看到Xcode自动将导航控制器嵌入到一个tab bar控制器中。超级简单,对吧?你可能认为这个很琐碎。其实,在引入Storyboard 功能之前,如需要嵌入一个导航控制器,你需要编写代码,并设计一个独立的NIB文件。

更改Tab Bar子项名称

默认情况下,Tab Bar 子项没有名称,也没有图标。在导航控制器中选择tab 子项,你可以在Attributes Inspector窗口,自由修改名称,并指定图标。Tab Bar子项默认为custom 标识符。当设定为custom时,意味着你需要手动指定标题(title)和图像。

你也可以使用一些内置的tab bar项目(如More、Favorites和Top Rated等等),这些已经包含了图标。这里为了简化教程,使用这些内置的项目。选择Featured 作为识别符(identifier),界面将如下所示:

运行App

现在可以测试App了。点击Run 按钮,看看App的运行界面。App 应该和之前教程中创建的一样,只是有了tab bar界面元素。


本文转载自:http://www.entlib.net/?p=1993

三只脚的猪
粉丝 7
博文 31
码字总数 5953
作品 0
海口
高级程序员
私信 提问
Storyboard教程-创建Tab Bar控制器和Web视图 (2)

你可以使用tab bar界面来组织不同的操作模式。每一个tab 包含特定的功能。显然,在使用tab bar 控制器时,在App中至少包含2个tabs。因此,我们将创建一个新的Tab,用于显示App的About页面。 ...

三只脚的猪
2014/02/20
0
0
一步一步学习iOS 5编程(第三版)-PDF中文版-正式发布!

目前,这是第一本介绍iOS 5.x 和 Xcode 4.4 的中文版书籍,尤其适合于iOS 编程开发初学者。本教程由 EntLib.com 团队编写。如有任何技术问题,欢迎留言。 电子版 – PDF 格式,支持iPhone、i...

entlib
2012/09/20
0
2
一步一步学习 iOS 6 编程(第四版)正式发布

所有范例程序及其截图都采用Xcode 4.4 和Xcode 4.5 最新版开发工具,本书包含了最新的iOS 6 开发技术,如自动布局(Auto Layout)、集合视图(Collection View)等等。 新增内容包括:分割视...

entlib
2012/10/25
0
2
iOS使用Storyboards创建导航控制器和表视图

在本教程中,我们将演示如何使用Storyboards构建导航界面和与UITableView的集成。为了让任务比较简洁,我们仅仅关注于解释概念,因此没有华丽的界面或漂亮的图片,将美工设计留给将来的教程。...

三只脚的猪
2014/02/14
0
0
Storyboard 联线教程-在视图控制器间传递数据

首先,我们快速回顾一下我们已经完成的工作。之前,我们学习了使用Storyboards完成的一些工作: 将一个正常的视图控制器嵌入到导航控制器中; 创建了一个表视图,并填充了菜单列表; 使用联线...

三只脚的猪
2014/02/18
0
0

没有更多内容

加载失败,请刷新页面

加载更多

任务调度-第三方库Quartz实现分布式任务管理与调度

1. 为什么要用第三方库Quartz来实现分布式任务管理和调度? 首先管理的目的是通过集群多节点的管理提供容错,调度的目的是保证同一任务只会被完整执行一次;之前分享过的任务调度-单体应用定...

秋日芒草
17分钟前
2
0
Mysql Explain Type

前言 当我们执行sql,一般都会用Explain来查看sql的效率如何。今天在看sql执行效率的时候,忘记了其中Type的意思,现在在此记录一下。 效率 这里的type指的是访问类型,各个效率高低如下: ...

无敌小杰杰
26分钟前
2
0
外部浏览器网页复制公众号无法自动唤起微信并关注怎么办?

现在有很多用户在外部浏览器网页复制公众号时无法自动唤起微信并关注,这是因为第三方浏览器打开微信的接口,微信只给部分合作平台开放了接口权限,任何第三方想调用只能是通过一些技术手段来...

qjniop
30分钟前
1
0
建造者模式

建造者模式(Builder Pattern) 也叫生成器模式,其定义如下: Separate the construction of a complex object from its representation so that the same construction process can create d......

无知的小狼
35分钟前
0
0
距离计算方法

1、欧式距离(欧几里得距离) 欧式距离是最易理解的距离定义,即各坐标点的坐标之差的平方和相加,然后开根号。 二维平面上点 与点 之间的距离公式是: n维空间上点 和点 之间的距离公式是:...

城北徐公美
37分钟前
1
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部