先看看我们效果吧~
把之前的几个学习的串联一起了。
这一次我们整合之前做的效果
我们写了类似掘金的底部tab。和前面的数据获取,页面跳转。
现在我们把全部整合在一起,看看效果如何。
这里面,包含了一个知识,页面跳转的时候,底部tab是不会隐藏的。
现在封装好,如何隐藏底部的tab。和返回的时候,正常展示。
替换基类:
func initTab() {
let homeVC = CustomNavigationControllerViewController(rootViewController: WxListController())
homeVC.tabBarItem.title = "首页"
homeVC.tabBarItem.image = UIImage(named: "tab_home_normal")
let activityVC = CustomNavigationControllerViewController(rootViewController: ActivityViewController())
activityVC.tabBarItem.title = "沸点"
activityVC.tabBarItem.image = UIImage(named: "tab_activity")
let findVC = CustomNavigationControllerViewController(rootViewController: FindViewController())
findVC.tabBarItem.title = "发现"
findVC.tabBarItem.image = UIImage(named: "tab_find_normal")
let ceVC = CustomNavigationControllerViewController(rootViewController: CeViewController())
ceVC.tabBarItem.title = "小册"
ceVC.tabBarItem.image = UIImage(named: "tab_xiaoce_normal")
let meVC = CustomNavigationControllerViewController(rootViewController: MeViewController())
meVC.tabBarItem.title = "我的"
meVC.tabBarItem.image = UIImage(named: "tab_profile_normal")
viewControllers = [homeVC, activityVC, findVC, ceVC, meVC]
setTabBarItemAttributes(fontName: "Courier", fontSize: 13, normalColor: ColorUtils.parser("#969695")!, selectedColor: ColorUtils.parser("#027AFF")!, bgColor: UIColor.white)
}
基类代码:
class CustomNavigationControllerViewController: UINavigationController {
override func viewDidLoad() {
super.viewDidLoad()
}
override func pushViewController(_ viewController: UIViewController, animated: Bool) {
//当控制器数量大于0,也就是不是第一个页面跳转了.
if viewControllers.count > 0 {
//隐藏底部的bar
viewController.hidesBottomBarWhenPushed = true
}
//在push之后,增加上面的逻辑,通用处理bar显示的问题
super.pushViewController(viewController, animated: animated)
}
}
这就是处理底部tab隐藏显示的逻辑了。
整个小demo的效果图就是这样了。
接下来的计划:
1:写一个简单版本购物app
2:前期需要准备的是后台服务,这个服务已经搭建起来了。现在我还需要对服务进行调整和熟悉。
3:网络的数据是我自己服务器的,所以变动的情况是我自己控制
4:由于是个人业余学习的项目,所以更新可能比较慢点,但是我会满满更新开源出来的
5:作为萌新,我没有系统的学习过这个开发,很多东西都是需要用到 -> 去查。需求驱动式。
6:希望自己可以坚持下去啦,后面会把整个系列的文章整理好,然后放到个人博客哪里去。
7:希望朋友们多多支持
代码地址:
https://github.com/cat13954/IOSUiTableViewSample
|