AppDelegate, rootViewController and presentViewController

前端 未结 6 2103
南方客
南方客 2020-11-27 15:38

I\'m doing the Facebook integration tutorial, I want to show my MainViewViewController if the user has a valid token for the current state otherwise I want to show LoginView

6条回答
  •  一生所求
    2020-11-27 16:32

    In case, when you're not using a storyboard. First you need to create YourViewController. Go File -> New -> File... (or shortCut - command + N)

    After that, choose Cocoa Touch Class. Click Next, or Enter

    Than type name for your viewController and click Next

    #import "AppDelegate.h"
    #import "YourViewController.h"
    
    @interface AppDelegate ()
    
    @end
    
    @implementaion AppDelegate
    
    - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
    
    // Init window
    self.window = [[UIWindow alloc] initWithFrame:UIScreen.mainScreen.bounds];
    [self.window makeKeyAndVisible];
    
    // Init YourViewController
    YourViewController *viewController = [[YourViewController alloc] init];
    
    // Init YourNavigationController
    UINavigationController *navigationContoller = [[UINavigationController alloc] initWithRootViewController: viewController];
    
    // Set rootViewController
    self.window.rootViewController = navigationContoller;
    
    return YES;
    
    }
    
    @end
    

    Swift 3/4 Example

    import UIKit
    
    @UIApplicationMain
    
    class AppDelegate: UIResponder, UIApplicationDelegate {
    
    var window: UIWindow?
    
    func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool {
    
    //1-st step
    window = UIWindow(frame: UIScreen.main.bounds)
    window?.makeKeyAndVisible()
    
    //2-nd - create a window root controller, and create a layout
    let layout = UICollectionViewFlowLayout()
    window?.rootViewController = UINavigationController(rootViewController: HomeController(collectionViewLayout: layout))
    
    return true
    

    }

提交回复
热议问题