32.怎样在Swift中实现TabBar和导航视图结合的项目?

  导航栏和TabBar结合的项目,在我们平常开发中会经常看到,下面我们通过自定义的TabBar来实现一个导航和TabBar结合的Demo。

1.自定义TabBar

import UIKit

class GofTabBarController: UITabBarController
{
    override func viewDidLoad()
    {
        super.viewDidLoad();
        
        addTabBarChildViewController(GofMainViewController(), title: "首页", imageName: "tab_home", selectedImageName: "tab_home_sel", tag: 0);
        addTabBarChildViewController(GofDrugViewController(), title: "药品列表", imageName: "tab_drug", selectedImageName: "tab_drug_sel", tag: 1);
        addTabBarChildViewController(GofShopcartViewController(), title: "购物车", imageName: "tab_shopcart", selectedImageName: "tab_shopcart_sel", tag: 2);
        addTabBarChildViewController(GofMyViewController(), title: "我的", imageName: "tab_my", selectedImageName: "tab_my_sel", tag: 3);
    }
    
    private func addTabBarChildViewController(childVC: UIViewController, title: String, imageName: String, selectedImageName: String, tag: Int)
    {
        let vcItem = UITabBarItem(title: title, image: gof_ImageWithName(imageName), selectedImage: gof_ImageWithName(selectedImageName)?.imageWithRenderingMode(.AlwaysOriginal));
        vcItem.tag = tag;
        childVC.tabBarItem = vcItem;
        
        let navigationVC = UINavigationController(rootViewController: childVC);
        addChildViewController(navigationVC);
    }
    
    override func tabBar(tabBar: UITabBar, didSelectItem item: UITabBarItem)
    {
        printLog("didSelectIndex:\(item.tag)");
    }
}

2.怎么使用?

let vc = GofTabBarController();
self.window?.rootViewController = vc;
posted @ 2016-07-19 17:20  LeeGof  阅读(1386)  评论(0编辑  收藏  举报