导航栏和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;

相关文章:

  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2021-06-18
  • 2022-12-23
  • 2022-12-23
  • 2021-12-31
猜你喜欢
  • 2021-05-01
  • 2022-12-23
  • 2021-08-27
  • 2021-06-08
  • 2022-01-14
  • 2021-06-19
  • 2021-06-26
相关资源
相似解决方案