0
您好,我有一个登录屏幕和导航控制器中的注册屏幕,用于用户登录或想要在应用程序中注册。我还创建了一个显示主页屏幕的Tab控制器。在用户登录或注册后,我希望能够继续访问选项卡控制器,并将其作为根视图控制器,因此用户无法返回到登录页面或注册页面。请问这是如何完成的?如何从导航控制器切换到选项卡控制器并使其成为根视图控制器
下面是几行代码时
if statusCode == 200 {
do {
let json = try NSJSONSerialization.JSONObjectWithData(data, options: .AllowFragments)
let result = json as? [String: AnyObject]
guard let token = result!["token"], let firstname = result!["user"]!["firstname"]! else {
print("Error: \(error?.debugDescription)")
return
}
NSUserDefaults.standardUserDefaults().setObject(token, forKey: "token")
//code to segue to the tab controller from the nav controller (login screen)
self.getHome()
}
catch {
print("Error receiving data")
}
}
})
task.resume()
func getHome() {
let storyboard:UIStoryboard = UIStoryboard(name: "Main", bundle: nil)
let tableController = storyboard.instantiateViewControllerWithIdentifier("tabController") as? UITableViewController
let appledDelegate = UIApplication.sharedApplication().delegate as! AppDelegate
appledDelegate.window?.rootViewController = tableController
}
用户登录在我的文件AppDelegate.swift我检查,看看是否有令牌,如果不调用登录页面或显示主页:
func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool {
let obj = NSUserDefaults.standardUserDefaults().objectForKey("token")
if obj == nil {
let welcomeHomeController:UIViewController = WelcomeHomeController(nibName: nil, bundle: nil)
welcomeHomeController.view.backgroundColor = UIColor.whiteColor()
let navController:UINavigationController = UINavigationController(rootViewController: welcomeHomeController)
//create window
self.window = UIWindow(frame: UIScreen.mainScreen().bounds)
self.window?.backgroundColor = UIColor.darkGrayColor()
self.window?.rootViewController = navController
self.window!.makeKeyAndVisible()
return true
}
此帖可能会帮助您! http://stackoverflow.com/questions/39159444/how-to-get-navigation-based-template-functionality-in-swift-programming/39159793#39159793 –