在写一个小demo的时候发现如果将rootViewController定义在引导页(欢迎页)上时,之前设置的导航栏和tabBar都不能正常显示于是查书查到
class AppDelegate: UIResponder, UIApplicationDelegate {
var window: UIWindow?
func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool {
//先设置欢迎页
let vc = ViewController()
//将欢迎页设置为根视图
self.window?.rootViewController = vc
self.window?.backgroundColor = UIColor.whiteColor()
//调用闭包
vc.startClosure = {
() -> Void in
self.start()
}
}
//闭包所用的方法,用来启动之后的View,并且修改根视图
func start(){
let vc1 = SecondViewController()
let vc2 = ThirdViewController()
let vc3 = FoutViewController()
let vc4 = FifthViewController()
vc1.tabBarItem.title = "1"
vc2.tabBarItem.title = "2"
vc3.tabBarItem.title = "3"
vc4.tabBarItem.title = "4"
let tabber = UITabBarController()
//设置UITabBarController
tabber.viewControllers = [vc1,vc2,vc3,vc4]
//设置UINavigationController的根视图,这里的根视图必须为tabber而不是欢迎页(vc)
let navi = UINavigationController(rootViewController: tabber)
self.window?.rootViewController = navi
}
var startClosure : (() -> Void)?