美文网首页
【极客班】多视图应用(Nav与Tabbar)

【极客班】多视图应用(Nav与Tabbar)

作者: xiongsirui | 来源:发表于2016-03-28 02:34 被阅读150次

    一种多视图应用是标签栏(tab bar),它在屏幕底部显示一行按钮,单击某个按钮就会激活一个新的视图控制器,并显示一个新的视图。例如,在iphone应用中,单击通讯录显示的视图与单机拨号键盘时显示的视图不同。另一种常见的多视图iphone应用是基于导航的应用,这类应用拥有一个导航控制器,使用导航控制一系列分层的视图。设置应用就是一个很好的例子。在设置应用中,第一个视图是一系列行,每行对应一类设置或某个应用。点击其中的一行将会进入一个新的视图,可以在这里定制某一类型的设置。有些视图显示一个列表,点击某一行就可以进入更深层次的视图,并向你提供控制权,让你可以回到之前的视图。

    Navigation

    Nav Controller结构:

    管理的View controller,公共界面以及Delegate。

    UINavigationController包含viewController(算是一个数组,有visibleViewController以及topViewController,能显示的都是visibleViewController,大部分时候visibleViewController就是topViewController),navigationBar和toolbar(算是公共界面的一部分,在Navigation最上方左边一般是返回,中间是title),以及Delegate(可以用于数据传递)。

    具体设计:

    给ViewController添加Navigation:选中该ViewController,并选择Editor->Embed in->Navigation Controller;

    可在上方的Navigation Item以及View Controller底部中选择Bar button Item;用于扩展操作控件;

    可以实现自定义Bar Button Item:

    上方是选择系统自带的样式与颜色,下方可以自己加载图片;且下一页按界面自动会在左上角显示一个Back的Item,用于返回上一页界面;

    Tabbar

    当有多个等价的按钮同时出现时,用Navigation Controller就显得不那么合适;用Tabbar更好。

    UITabBarController结构:

    TabBarController包含一组viewControllers(被管理),selectedViewController是用户选中的当前界面的ViewController;同样也包好TabBar(图片和文字都显示出来)属性用于选择不同页面,delegate用于得到一些回调(用户selected是否响应,能不能调用过去)。

    具体设计:

    给ViewController添加Tab bar Controller:选中该ViewController,并选择Editor->Embed in->Navigation Controller;

    设置TabBar属性:

    Badge可以显示图标上有几个红点,System Item可以选择系统自带的Item形状;Selected Image表示选中后的Item的样子;Tab Bar Item继承自Bar Item,用户也可以自定义Bar Item的文字和图片来定义Tab Bar Item。

    为了让Tab Bar管理更多的View Controller,可以点击Tab Bar Controller拖动至View Controller部分,在Relation Ship中选择view controllers即可实现。

    相关文章

      网友评论

          本文标题:【极客班】多视图应用(Nav与Tabbar)

          本文链接:https://www.haomeiwen.com/subject/tosdlttx.html