2012-04-16 190 views
1

我想在我的項目中使用這個ECSlidingViewController。來自鏈接的示例應用程序使用故事板,但我想從xib加載全部。 我必須在應用程序中實現:didFinishLaunchingWithOptions:執行此操作嗎?從示例應用程序ECSlidingViewController從XIB加載

代碼:

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions 
{ 
    ECSlidingViewController *slidingViewController = (ECSlidingViewController *)self.window.rootViewController; 
    UIStoryboard *storyboard; 

    if (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPhone) { 
    storyboard = [UIStoryboard storyboardWithName:@"iPhone" bundle:nil]; 
    } else if (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad) { 
    storyboard = [UIStoryboard storyboardWithName:@"iPad" bundle:nil]; 
    } 

    slidingViewController.topViewController = [storyboard instantiateViewControllerWithIdentifier:@"FirstTop"]; 

    return YES; 
} 

回答

1

而不是使用故事板來獲得的UIViewController的實例,你可以從一個筆尖實例吧:

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions 
{ 
    ECSlidingViewController *slidingViewController = [[ECSlidingViewController alloc] init]; 

    FirstTopViewController *firstTop = [[FirstTopViewController alloc] initWithNibName:@"FirstTop" bundle:nil]; 
    slidingViewController.topViewController = firstTop; 

    self.window.rootViewController = slidingViewController 

    return YES; 
} 
+1

如果你嘗試上面的代碼,你會得到「應用程序預計將有在應用程序啓動的最後一個根視圖控制器」在Xcode – fyasar 2012-05-15 21:08:00

+0

我編輯我的回答錯誤不是故事板使用 – 2013-11-16 19:03:11

0

嘗試這一點,在我的ENV工作。

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions 
{ 
    self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]]; 
    self.initialViewController = [[InitialViewController alloc] initWithNibName:@"InitialViewController" bundle:nil]; 
    self.window.rootViewController = self.initialViewController; 

    ECSlidingViewController *slidingViewController = (ECSlidingViewController *)self.window.rootViewController; 
    FirstViewController *firstController = [[FirstViewController alloc] initWithNibName:@"FirstViewController" bundle:nil]; 
    slidingViewController.topViewController = firstController; 

    [self.window makeKeyAndVisible]; 
    return YES;  
} 

,也不要忘了添加

[self.slidingViewController setAnchorRightRevealAmount:280.0f]; 

到您的firstviewcontroller的viewWillAppear中的方法。

好運

+0

這是不正確不起作用。它說***終止應用程序由於未捕獲的異常'NSInvalidArgumentException',原因:'*** - [__ NSArrayM insertObject:atIndex:]:object can not be nil' – nithinreddy 2013-11-07 08:30:39