您的位置:首页 > 移动开发 > Swift

swift初始化一个项目导航栏和标签栏(nav和tabbar)

2017-04-05 17:09 246 查看
第一步:创建一个UITabBarController的类,全部代码如下,

里面包含了导航栏,所以在创建的时候只要集成这个类,然后,设置父类里面的数组的值,就好了

import UIKit

class BaseTabBarController: UITabBarController {

var titles = [String]()
var selectedImgNames = [String]()
var normalImgNames = [String]()
var VCs = [UIViewController]()

override func viewDidLoad() {
super.viewDidLoad()
print(titles.count)
setUpUI()

}


}

extension BaseTabBarController{

fileprivate func setUpUI(){

for item in 0..<titles.count {

let vc = VCs[item]
vc.tabBarItem.image = UIImage.init(named: normalImgNames[item])?.withRenderingMode(.alwaysOriginal)
vc.tabBarItem.title = titles[item]

vc.tabBarItem.selectedImage = UIImage.init(named: selectedImgNames[item])?.withRenderingMode(.alwaysOriginal)
vc.tabBarItem!.setTitleTextAttributes([NSForegroundColorAttributeName: UIColor.lightGray], for: UIControlState())
vc.tabBarItem!.setTitleTextAttributes([NSForegroundColorAttributeName: UIColor.red], for: .selected)
let navc = UINavigationController.init(rootViewController: vc)
vc.navigationItem.title = titles[item]
self.addChildViewController(navc)
}

}


}

第二部:创建一个类,继承上面封装好的tabbarcontrol就好了

import UIKit

class MainViewController: BaseTabBarController {

override func viewDidLoad() {

titles = ["流程管理","业务管理","客户管理","租后管理","智能监控"]
selectedImgNames = ["tabbar03_selected","tabbar03_selected","tabbar03_selected","tabbar03_selected","tabbar03_selected"]
normalImgNames = ["tabbar03_normal","tabbar03_normal","tabbar03_normal","tabbar03_normal","tabbar03_normal"]
VCs = [processManagementVC(),businessManagementVC(),ustomerManagementVC(),afterRentManagementVC(),intelligentMonitoringVC()]
super.viewDidLoad()

}


}

//OK几句话就解决了问题
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  swift