TabBarController In Swift 3.1

目录:

  • tabbar的基础用法,xib,storyboard
  • GitHub开源好代码

xib 实现

新建俩个空controller,设置图片Assets,实现代码全在delegate。简单看效果,缺点没有信息数量(实现代码tabBarItem.badgeValue =)。
效果图

TabBarController In Swift 3.1_第1张图片

参考: HOW TO MAKE A TAB BAR CONTROLLER IN SWIFT 3.0 CODE

Storyboad 实现

  • TabBarController 跳转的 UIViewController之间是没有联系的。
  • NavigationController 用navigation array stack管理跳转间的UIViewController, 进栈用push,出栈用pop, 也可以直接退到栈底popToRootViewControllerAnimated(_:)。还包括元素:navigation bar 在顶部, toolbar 在底部。

NavigationController教程(可忽略,下面的tabbar例子与此关联,可做参考):场景是书作者列表TableView --> 书名列表TableView --> 书的封面UIView, 效果图如下:

TabBarController In Swift 3.1_第2张图片

TabBarController In Swift 3.1_第3张图片

TabBarController In Swift 3.1_第4张图片

navigation教程链接: iOS From Scratch With Swift: Navigation Controllers and View Controller Hierarchies
demo github 链接: https://github.com/zgpeace/NavigationControllerDemo/tree/master)



TabbarController 最多只能显示5个tabItem,多余5个在更多页面展示。 该教程涉及的知识点:tabbarController,navigationController(参考上面的例子), lazy懒加载属性,tableviewController,文件读取。 有个bug: 通过tabbar点击Books --> 点击进图片,没办法返回,因为不是用navigationController控制
效果图
TabBarController In Swift 3.1_第5张图片

tabbar教程: iOS From Scratch With Swift: Exploring Tab Bar Controller
demo github: https://github.com/zgpeace/TabBarControllerDemo

GitHub开源好代码

tabbar 可以做的很炫(elegant), 比如可以设置点击有animation的动态,中间是个大圆图,
消息提醒可以抖动弹出,tabItem发现新版本提醒。如果可以换肤(像手淘),
那么tabbar的资源由皮肤factory统一输出。以上诉求GitHub已有 ESTabBarController Star > 1,869 。 demo 图:

http://upload-images.jianshu.io/upload_images/2669084-7b4e87eb091da4e7.gif
http://upload-images.jianshu.io/upload_images/2669084-a6bf0018201f668e.gif
http://upload-images.jianshu.io/upload_images/2669084-1d7ee6e1da4361b5.png

按照ESTabBarController 教程把动态图和消息提醒,消息消失整合为一个空的工程。用pod引入依赖有问题,所以工程copy了一份源码。
demo project: https://github.com/zgpeace/ESTabBarControllerDemo/tree/master

TabBarController In Swift 3.1_第6张图片

你可能感兴趣的:(TabBarController In Swift 3.1)