用Storyboard构建标签栏多页面应用程序UI

注:

貌似CSDN的显示效果不佳,如果有需要的话我可以上传pdf格式的;

另外如果文章中有错误还请给位多多提意见,谢谢。


pdf格式文档:http://download.csdn.net/detail/vesper305/7808837;


主要内容

  • 标签栏多视图和导航栏多视图的区别
  • Storyboard构建标签栏多视图应用程序

 

简述

标签栏应用程序是一种多视图应用程序,它在屏幕底端显示一行按钮,称为标签栏tab bar)。单机某个按钮就会激活一个新的视图控制器(标签页),并显示一个新视图,同时底部任然保留着标签栏。如下图所示的3个标签栏。

 

另一种常见的多视图iPhone应用程序是基于导航的应用程序,这类应用程序拥有一个导航控制器,使用导航栏控制一系列分层的视图。导航控制器跟踪所在的视图深度,并且向你提供控制权,让你可以回到之前的视图。而标签栏用于从两个或更多选项中选择一个选项,而且只能选择一个(标签栏多是用于并列平行的页面间的选择)。

 

参考:该简述主要参考《精通iOS开发》第六章:多视图应用程序

 

Storyboard构建标签栏

这里我们讲述一下用Storyboard构建标签栏多视图应用程序UI的方法。

1选择Tab Bar Controller

首先在Storyboard的对象选择中选择一个Tab Bar Controller

Storyboard中我们可以看到如下图所示的UI界面,第一个页面(Tab Bar Controller)我们不需要对它进行操作,因为我们对它的标签页(后面两个页面)的操作会自动更新到Tab Bar Controller上面。

 

2添加我们自己的TableView Controller

从上图可以看到Tab Bar Controller拖入Storyboard中的时候就自带了两个标签页,其类型为View Controller,我们可以将其删除然后按照我们的需要添加我们自己的视图控制器。

首先我们删除第一个自带的View Controller,然后从右边拖入一个TableView Controller

如上图所示,添加自己的TableView Controller之后,从Tab Bar ControllerTableViewController建立跳转(按住Control,从Tab Bar ControllerTableViewController拖线),从上图我们我们可以看到除了平常的pushmodalcustom三种方式之外,多出了一个View Controllers,这里我们应该选择这种连接;

 

3修改标签栏中的标签样式

选中我们刚才添加的TableViewController中的标签图标(Tab Bar Item),

在属性检查器中查看属性:

这里我们可以修改上面标出的两个项。第一个是标签图标下面显示的文字,第二个是图标ICON。下面是我们修改后的效果:

这时,我们查看Tab Bar Controller中的标签栏已经自动更新(这就是我们前面提到的不需要修改Tab BarController):

同样,我们可以删掉其自带的另一个ViewController然后添加我们需要的TableViewController,然后重复我们刚才的操作:

 

4添加一个新的Controller

在前面我们拖入的Tab BarController只有两个View Controller,同时标签栏中也只有两个标签图标。这里我们添加一个新的视图控制器TableViewController

这里我们可以看到,在未连接新添加的TableView ControllerTab Bar Controller的时候,标签栏只有两个标签,同时新添加的TableView Controller中也没有标签栏。然后我们按照刚才的方法连接Tab Bar Controller,操作完全一致。

可以看到当连接Tab Bar ControllerTableView Controller之后Tab Bar Controller中的标签栏标签数自动变成了3个。同样我们可以修改新添加的TableViewController中的标签样式。

到此时一个有3TableView标签页的标签栏多页面UI就做好了,后面的工作就是添加ControllerModel了,这里我们不做介绍。

5运行

为了看出标签页的切换,我们再每个页面中添加了Label,表面页面的切换:

 

6参考

具体的做法也可以参考这个视频,讲的比较详细:

http://teamtreehouse.com/library/build-a-selfdestructing-message-iphone-app-2/designing-and-starting-the-app/a-storyboard-with-a-tab-bar-controller

 

备注

这里的标签栏多页面应用程序只是一个单独的标签栏显示,具体如何进入标签栏页,用什么方式进入,各有什么区别,我们尚未提及,后面《Tab Bar Controller与导航栏》一文中会详述。

 

Demo源代码可以再这里下载:http://download.csdn.net/detail/vesper305/7808097;

 

Guo Liu

8/24/2014星期日第三次编辑

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
SwiftUIStoryboard是两种用于构建用户界面的工具,它们在实现方式和使用方式上有一些区别。 1. 实现方式:SwiftUI使用Swift语言来构建用户界面,而Storyboard使用Interface Builder来创建界面。SwiftUI是一种声明性的编程范式,通过描述界面的结构和行为来构建界面。而Storyboard则是通过可视化界面编辑器来拖拽和连接各个界面元素来创建界面。 2. 代码结构:在SwiftUI中,用户界面的结构和行为都由代码定义,可以轻松地使用Swift语言的各种特性来实现复杂的交互逻辑。而在Storyboard中,用户界面的结构和行为是通过可视化编辑器创建和配置的,可以通过连接不同的视图控制器和实现代理方法来实现一些交互逻辑。 3. 跨平台支持:SwiftUI是跨平台的,可以在iOS、macOS、watchOS和tvOS上使用,而Storyboard主要用于iOS开发,虽然也可以在macOS上使用,但不支持watchOS和tvOS。 4. 动态性:SwiftUI支持动态修改界面,可以根据数据的变化自动更新界面。而Storyboard在运行时是静态的,不能直接根据数据的变化更新界面。 5. 可重用性:SwiftUI提供了一套强大的组件系统,可以轻松地创建可重用的界面组件。而在Storyboard中,界面元素的重用相对较为繁琐,需要手动复制和粘贴。 总的来说,SwiftUI更加现代化和灵活,适合于构建复杂的用户界面和交互逻辑。而Storyboard更适合于简单的界面设计和较少交互的应用程序。选择使用哪种工具主要取决于项目的需求和开发者的偏好。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值