1.首先創建swift工程,創建RootViewController繼承于UITabBarController
2.創建BaseViewController繼承于UIViewController,初始化導航欄
如下所示:
創建幾個自己需要的VC,分別繼承于BaseViewController
然后再rootviewcontroller中初始化tabbar有關的信息
? ? var communityNav: UINavigationController!
? ? var storeNav: UINavigationController!
? ? var shoppingMallNav: UINavigationController!
? ? var mineNav: UINavigationController!
小編創建的CommunityViewController ?StoreViewController ??ShoppingMallViewController ?MineViewController以這幾個為例。
廢話不多說,直接上代碼:
在viewdidload中
communityNav = UINavigationController (rootViewController: CommunityViewController ())
? ? ? ? communityNav.tabBarItem.title = "社區"
? ? ? ? communityNav.tabBarItem.image = UIImage (named: "tab_community_icon_nor")?.withRenderingMode(.alwaysOriginal)
? ? ? ? communityNav.tabBarItem.selectedImage = UIImage (named: "tab_community_icon_pre")?.withRenderingMode(.alwaysOriginal)
? ? ? ? communityNav.tabBarItem.setTitleTextAttributes([NSAttributedStringKey.foregroundColor : UIColor.red, NSAttributedStringKey.font : UIFont.systemFont(ofSize: 11)], for: .normal)
? ? ? ? communityNav.tabBarItem.setTitleTextAttributes([NSAttributedStringKey.foregroundColor : UIColor.yellow, NSAttributedStringKey.font : UIFont.systemFont(ofSize: 11)], for: .selected)
? ? ? ? storeNav = UINavigationController (rootViewController: StoreViewController ())
? ? ? ? storeNav.tabBarItem.title = "門店"
? ? ? ? storeNav.tabBarItem.image = UIImage (named: "tab_store_icon_nor")?.withRenderingMode(.alwaysOriginal)
? ? ? ? storeNav.tabBarItem.selectedImage = UIImage (named: "tab_store_icon_pre")?.withRenderingMode(.alwaysOriginal)
? ? ? ? storeNav.tabBarItem.setTitleTextAttributes([NSAttributedStringKey.foregroundColor : UIColor.red, NSAttributedStringKey.font : UIFont.systemFont(ofSize: 11)], for: .normal)
? ? ? ? storeNav.tabBarItem.setTitleTextAttributes([NSAttributedStringKey.foregroundColor : UIColor.yellow, NSAttributedStringKey.font : UIFont.systemFont(ofSize: 11)], for: .selected)
? ? ? ? shoppingMallNav = UINavigationController (rootViewController: ShoppingMallViewController ())
? ? ? ? shoppingMallNav.tabBarItem.title = "商城"
? ? ? ? shoppingMallNav.tabBarItem.image = UIImage (named: "tab_mall_icon_nor")?.withRenderingMode(.alwaysOriginal)
? ? ? ? shoppingMallNav.tabBarItem.selectedImage = UIImage (named: "tab_mall_icon_pre")?.withRenderingMode(.alwaysOriginal)
? ? ? ? shoppingMallNav.tabBarItem.setTitleTextAttributes([NSAttributedStringKey.foregroundColor : UIColor.red, NSAttributedStringKey.font : UIFont.systemFont(ofSize: 11)], for: .normal)
? ? ? ? shoppingMallNav.tabBarItem.setTitleTextAttributes([NSAttributedStringKey.foregroundColor : UIColor.yellow, NSAttributedStringKey.font : UIFont.systemFont(ofSize: 11)], for: .selected)
? ? ? ? mineNav = UINavigationController (rootViewController: MineViewController ())
? ? ? ? mineNav.tabBarItem.title = "我的"
? ? ? ? mineNav.tabBarItem.image = UIImage (named: "tab_user_icon_nor")?.withRenderingMode(.alwaysOriginal)
? ? ? ? mineNav.tabBarItem.selectedImage = UIImage (named: "tab_user_icon_pre")?.withRenderingMode(.alwaysOriginal)
? ? ? ? mineNav.tabBarItem.setTitleTextAttributes([NSAttributedStringKey.foregroundColor : UIColor.red, NSAttributedStringKey.font : UIFont.systemFont(ofSize: 11)], for: .normal)
? ? ? ? mineNav.tabBarItem.setTitleTextAttributes([NSAttributedStringKey.foregroundColor : UIColor.yellow, NSAttributedStringKey.font : UIFont.systemFont(ofSize: 11)], for: .selected)
? ? ? ? viewControllers = [communityNav, storeNav, shoppingMallNav, mineNav]
附圖一張
在appdelegate中把rootviewcontroller指定為 window?.rootViewController 的rootviewctroller ?即:
window?.rootViewController = RootViewController() ? 大功告成,謝謝支持!!(小編也新手,大家多多指點)