如何在swift 3.0中用自定义UI创buildtabbar

我想从故事板创build一个标签栏,我创build它,但当点击标签栏当时图像不显示, 我想要一些图像标签栏像 我想要这个tabbar

我知道了

我懂了

我点击任何标签栏项目其显示像

错误的输出

这是我在configuration文件视图控制器中使用的代码

class ProfileViewController: UIViewController { override func viewDidLoad() { super.viewDidLoad() UIApplication.shared.statusBarStyle = .default self.tabBarController?.tabBar.isHidden = false UITabBar.appearance().tintColor = UIColor.init(patternImage: UIImage.init(named: "ic_home_tab_profile_sel.png")!) // Do any additional setup after loading the view. } } 

任何帮助可以欣赏。 先谢谢你。

我build议使用ESTabBarControllerExample https://github.com/eggswift/ESTabBarController来制作这种自定义TabbarController.First从github下载ESTabbarControllerExample。 我们需要使用一些类信。 让我来解释一下如何逐步使用:

  • 首先安装CocoaPods

    1打开terminal并cd ~ to your project directory

    2运行命令 – pod init

    3您的podfile应与 – pod "ESTabBarController-swift"并保存

    4用命令pod install安装它

  • 打开.xcworkspace扩展的项目文件

    1在项目中我们需要添加Content全部的swift类和pop.framework

    2不要使用添加文件添加pop.framework。 您必须从Framework添加并添加其他。

    3在内容文件夹的所有文件import ESTabBarController_swift

  • StoryBord的东西

    1添加导航控制器也添加来自EST演示示例代码的ExampleNavigationController 。 (你也可以自己添加),但是确保你设置了自定义类的Swift类。

  • 代码在AppDelegate.swift的东西

您需要在didFinishLaunchingWithOptions方面执行以下代码

  let tabBarController = ESTabBarController() tabBarController.delegate = self tabBarController.title = "Irregularity" tabBarController.tabBar.shadowImage = UIImage(named: "transparent") tabBarController.tabBar.backgroundImage = UIImage(named: "background_dark") tabBarController.shouldHijackHandler = { tabbarController, viewController, index in if index == 2 { return true } return false } tabBarController.didHijackHandler = { [weak tabBarController] tabbarController, viewController, index in DispatchQueue.main.asyncAfter(deadline: .now() + 0.2) { let alertController = UIAlertController.init(title: nil, message: nil, preferredStyle: .actionSheet) let takePhotoAction = UIAlertAction(title: "Take a photo", style: .default, handler: nil) alertController.addAction(takePhotoAction) let selectFromAlbumAction = UIAlertAction(title: "Select from album", style: .default, handler: nil) alertController.addAction(selectFromAlbumAction) let cancelAction = UIAlertAction(title: "Cancel", style: .cancel, handler: nil) alertController.addAction(cancelAction) tabBarController?.present(alertController, animated: true, completion: nil) } } let v1 = ExampleViewController() let v2 = ExampleViewController() let v3 = ExampleViewController() let v4 = ExampleViewController() let v5 = ExampleViewController() v1.tabBarItem = ESTabBarItem.init(ExampleIrregularityBasicContentView(), title: "Home", image: UIImage(named: "home"), selectedImage: UIImage(named: "home_1")) v2.tabBarItem = ESTabBarItem.init(ExampleIrregularityBasicContentView(), title: "Find", image: UIImage(named: "find"), selectedImage: UIImage(named: "find_1")) v3.tabBarItem = ESTabBarItem.init(ExampleIrregularityContentView(), title: nil, image: UIImage(named: "photo_verybig"), selectedImage: UIImage(named: "photo_verybig")) v4.tabBarItem = ESTabBarItem.init(ExampleIrregularityBasicContentView(), title: "Favor", image: UIImage(named: "favor"), selectedImage: UIImage(named: "favor_1")) v5.tabBarItem = ESTabBarItem.init(ExampleIrregularityBasicContentView(), title: "Me", image: UIImage(named: "me"), selectedImage: UIImage(named: "me_1")) tabBarController.viewControllers = [v1, v2, v3, v4, v5] let navigationController = ExampleNavigationController.init(rootViewController: tabBarController) tabBarController.title = "Example" self.window?.rootViewController = navigationController return true 

为“资产”中的Tabbar项目和其他要添加的图像添加图像。 希望对你有所帮助。

示例项目: https : //github.com/nitingohel/CustomTabCenterBig