2012-08-30 39 views
0

我正在使用代碼波紋管來檢查用戶是否已登錄或註銷,並且工作正常。但是因爲我通過名字獲取故事板,我總是將用戶發送到iPhone「in」或「out」視圖控制器。如果我獲得積極的故事板,它會工作。我如何修復代碼?獲取活動的故事板

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions 
{ 
    BOOL user = ...; 
    NSString *segue = user ? @"in" : @"out"; 
    UIStoryboard *storyBoard = [UIStoryboard storyboardWithName:@"iPhone" bundle:nil]; 
    UIViewController *viewController = [storyBoard instantiateViewControllerWithIdentifier:segue]; 
    [self.window setRootViewController:viewController]; 

    return YES; 
} 

回答

1

如果所有你希望做的是從取決於你的應用是否在iPad上運行的主場迎戰iPhone上不同的故事板獲得的viewController,你可以用做if語句:

NSString *storyboardName; 
if (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad) { 
    storyboardName = @"iPad"; 
} else { 
    storyboardName = @"iPhone"; 
} 
UIStoryboard *storyBoard = [UIStoryboard storyboardWithName:storyboardName bundle:nil]; 

如果你真的需要得到「有效」分鏡不管情況,在此之前的回答可以幫助你:

UIStoryboard: What's the Correct Way to Get the Active Storyboard?