1.UITabbarController
分栏控制器,用来进行ViewController页面的切换,这些页面是并列的。最下面一栏是Tabbar,其中的按钮是TabbarItem
2.UINavigationController
导航控制器,也是用来进行ViewController页面的切换,但这些页面不是并列,有层次关系。最上面一栏是Navigationbar,用navigationItem进行管理。
3.UITabbarController和UINavigationController的集成
eg:首页的集成,代码如下:
let homepageController = homepageViewController()
//一定要将homepageController作为UINavigationController的根视图
let hc = UINavigationController(rootViewController: homepageController)
//tabbarItem的标题
hc.tabBarItem.title = "首页"
tabbarController.addChildViewController(hc)
4.主要代码如下:
// AppDelegate.swift
import UIKit
@UIApplicationMain
class AppDelegate: UIResponder, UIApplicationDelegate {
var window: UIWindow?
func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool {
self.window = UIWindow(frame: UIScreen.mainScreen().bounds)
self.window?.backgroundColor = UIColor.whiteColor()
let tabbarController = UITabBarController()
self.window?.rootViewController = tabbarController
let homepageController = homepageViewController()
//一定要将homepageController作为UINavigationController的根视图
let hc = UINavigationController(rootViewController: homepageController)
//tabbarItem的标题
hc.tabBarItem.title = "首页"
tabbarController.addChildViewController(hc)
let categoryController = categoryViewController()
let cc = UINavigationController(rootViewController: categoryController)
cc.tabBarItem.title = "分类"
tabbarController.addChildViewController(cc)
let discoveryController = discoveryViewController()
let dc = UINavigationController(rootViewController: discovery