swift下如何配置引导页后跳转rootViewController
2015-10-29 21:24
567 查看
在写一个小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)?
并在欢迎页跳转后面View的func里面调用这个闭包即可
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)?
并在欢迎页跳转后面View的func里面调用这个闭包即可
相关文章推荐
- Apple Swift学习教程
- jQuery实现下滑菜单导航效果代码
- jquery实现的仿天猫侧导航tab切换效果
- PHP的栏目导航程序
- jquery实现向下滑出的二级导航下滑菜单效果
- JS+CSS实现六级网站导航主菜单效果
- JS实现网页顶部向下滑出的全国城市切换导航效果
- js实现显示当前状态的导航效果代码
- javascript实现当前页导航激活的方法
- JS+CSS实现的日本门户网站经典选项卡导航效果
- JS实现自动变化的导航菜单效果代码
- jquery实现红色竖向多级向右展开的导航菜单效果
- jQuery实现的背景动态变化导航菜单效果
- 基于jquery固定于顶部的导航响应浏览器滚动条事件
- jquery动态导航插件dynamicNav用法实例分析
- jQuery+css实现的蓝色水平二级导航菜单效果代码
- jquery实现点击变换导航样式的方法
- jQuery ui实现动感的圆角渐变网站导航菜单效果代码
- jquery实现点击向下展开菜单项(伸缩导航)效果