Swift - 使用UITabBarController UINavigationcontroller搭建项目
程序员文章站
2022-04-01 12:42:10
...
首先记得在AppDelegate指定rootViewController
window = UIWindow (frame: UIScreen.main.bounds)
window?.rootViewController = TabbarController()
window?.makeKeyAndVisible()
然后在TabbarController里写入下面两个方法并使用就好
private func addChildViewController() {
addChildViewController(controller: HomeViewController(), title: "首页", imageName: "tabbar_home")
addChildViewController(controller: MessageViewController(), title: "消息", imageName: "tabbar_message")
addChildViewController(controller: DiscoverViewController(), title: "发现", imageName: "tabbar_discover")
addChildViewController(controller: MeViewController(), title: "我", imageName: "tabbar_me")
}
private func addChildViewController(controller:UIViewController, title:String,imageName:String) {
controller.tabBarItem.image = UIImage(named: imageName)
controller.tabBarItem.selectedImage = UIImage(named: imageName + "_selected")
controller.tabBarItem.title = title
let nav = NavigationController()
nav.addChildViewController(controller)
addChildViewController(nav)
}
创建NavigationController,在这里我们可以对导航栏做一些默认配置,比如字体,颜色,大小什么的,而且在这里去自定义左侧返回按钮比较方便
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view.
self.interactivePopGestureRecognizer!.delegate = nil;
let appearance = UINavigationBar.appearance()
appearance.isTranslucent = false
appearance.setBackgroundImage(UIImage.imageWithColor(color: Color_NavBackground, size: CGSize(width: 1, height: 1)), for: UIBarMetrics.default)
var textAttrs:[String:AnyObject] = Dictionary()
textAttrs[NSForegroundColorAttributeName] = UIColor.white
textAttrs[NSFontAttributeName] = UIFont.systemFont(ofSize: 16)
appearance.titleTextAttributes = textAttrs
}
这样一个项目的基本框架就算搭建完成了,四个主页面建议继承一个BaseViewController,方便我们做一些公共部署。
上一篇: 京东2021年度账单来了:花多少才能超越99%的人?
下一篇: KMP模式匹配算法
推荐阅读
-
使用vue脚手架(vue-cli)搭建一个项目详解
-
Vue使用NPM方式搭建项目
-
使用vue-cli脚手架工具搭建vue-webpack项目
-
从零开始搭建前后端分离的NetCore2.2(EF Core CodeFirst+Autofac)+Vue的项目框架之七使用JWT生成Token(个人见解)
-
从零开始搭建前后端分离的NetCore2.2(EF Core CodeFirst+Autofac)+Vue的项目框架之十一Swagger使用一
-
荐 使用IDEA搭建一个简单的JavaWeb图书管理项目(详细步骤指导、提供源码)
-
vue项目搭建以及全家桶的使用详细教程(小结)
-
django项目搭建与Session使用详解
-
vue2.0实战之使用vue-cli搭建项目(2)
-
详解Vue使用 vue-cli 搭建项目