//
// MainTabBarVC.swift
// TsOneS
//
// Created by xubaoji on 16/3/7.
// Copyright © 2016年 xubaoji. All rights reserved.
//
import UIKit
class MainTabBarVC: UITabBarController {
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view.
createControllers()
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
// Dispose of any resources that can be recreated.
}
func createControllers()
{
createNavigationController(HomeViewController(),
title: "首页",
imageName: "icon_homepage_normal",
selectedImageName: "icon_homepage_selected")
createNavigationController(GoodsViewController(),
title: "值得买",
imageName: "icon_worthbuy_normal",
selectedImageName: "icon_worthbuy_selected")
createNavigationController(OtherViewController(),
title: "值得去",
imageName: "icon_worthgo_normal",
selectedImageName: "icon_worthgo_selected")
createNavigationController(ZhuantiViewController(),
title: "值得看",
imageName: "icon_worthlook_normal",
selectedImageName: "icon_worthlook_selected")
createNavigationController(UserViewController(),
title: "我的",
imageName: "icon_mine_normal",
selectedImageName: "icon_mine_selected")
let attributes = [NSForegroundColorAttributeName : APP_COLOR_PINK_1]
UITabBarItem.appearance().setTitleTextAttributes(attributes, forState: .Selected)
}
func createNavigationController(vc:UIViewController ,
title: String,
imageName: String,
selectedImageName: String)
{
let selectImg = UIImage(named: selectedImageName)?.imageWithRenderingMode(.AlwaysOriginal)
vc.tabBarItem = UITabBarItem(title: title,
image: UIImage(named: imageName),
selectedImage:selectImg)
let nav = UINavigationController(rootViewController: vc)
self.addChildViewController(nav)
}
/*最基本的写法
func createControllersBasic(){
let vc1 = HomeViewController()
vc1.tabBarItem = UITabBarItem(title: "首页",
image: UIImage(named: "icon_tabbar_homepage"),
selectedImage: UIImage(named: "icon_tabbar_homepage_selected"))
let nav1 = UINavigationController(rootViewController: vc1)
let vc2 = HomeViewController()
vc2.tabBarItem = UITabBarItem(title: "商家",
image: UIImage(named: "icon_tabbar_merchant_normal"),
selectedImage: UIImage(named: "icon_tabbar_merchant_selected"))
let nav2 = UINavigationController(rootViewController: vc2)
let vc3 = HomeViewController()
vc3.tabBarItem = UITabBarItem(title: "我的",
image: UIImage(named: "icon_tabbar_mine"),
selectedImage: UIImage(named: "icon_tabbar_mine_selected"))
let nav3 = UINavigationController(rootViewController: vc3)
let vc4 = HomeViewController()
vc4.tabBarItem = UITabBarItem(title: "更多",
image: UIImage(named: "icon_tabbar_misc"),
selectedImage: UIImage(named: "icon_tabbar_misc_selected"))
let nav4 = UINavigationController(rootViewController: vc4)
self.viewControllers = [nav1,nav2,nav3,nav4]
}
*/
}
swift3.0
func createControllers()
{
createNavigationController(vc: HomeViewController(),
title: "首页",
imageName: "icon_homepage_normal",
selectedImageName: "icon_homepage_selected")
createNavigationController(vc: GoodsViewController(),
title: "值得买",
imageName: "icon_worthbuy_normal",
selectedImageName: "icon_worthbuy_selected")
createNavigationController(vc: OtherViewController(),
title: "值得去",
imageName: "icon_worthgo_normal",
selectedImageName: "icon_worthgo_selected")
createNavigationController(vc: ZhuantiViewController(),
title: "值得看",
imageName: "icon_worthlook_normal",
selectedImageName: "icon_worthlook_selected")
createNavigationController(vc: UserViewController(),
title: "我的",
imageName: "icon_mine_normal",
selectedImageName: "icon_mine_selected")
let attributes = [NSForegroundColorAttributeName : UIColor.black]
UITabBarItem.appearance().setTitleTextAttributes(attributes, for: UIControlState.selected)
}
func createNavigationController(vc:UIViewController ,
title: String,
imageName: String,
selectedImageName: String)
{
let selectImg = UIImage(named: selectedImageName)?.withRenderingMode(UIImageRenderingMode.alwaysOriginal)
vc.tabBarItem = UITabBarItem(title: title,
image: UIImage(named: imageName),
selectedImage:selectImg)
let nav = UINavigationController(rootViewController: vc)
self.addChildViewController(nav)
}