简单的iOS Segue不会发生

时间:2012-04-08 05:33:49

标签: objective-c ios facebook-graph-api storyboard

我正在尝试以编程方式从启动画面(用于将用户登录到Facebook)转换为标签栏视图。我已经从splashViewController到tabBarController创建了一个带有“splashToTabBar”的模态segue,并调用了这个调用:

    [self performSegueWithIdentifier:@"splashToTabBar" sender:self];

一旦用户通过Facebook验证(其中self是splashViewController)。调用prepareForSegue,但不会发生segue。是否可以从启动画面切换到标签栏控制器?我需要调用另一种方法吗?

更新:

无法解除模态视图控制器的代码。登录后,如果成功,我呼叫显示登录:

- (IBAction)login:(id)sender {
// Check and retrieve authorization information
NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
if ([defaults objectForKey:@"FBAccessTokenKey"] 
    && [defaults objectForKey:@"FBExpirationDateKey"]) {
    facebook.accessToken = [defaults objectForKey:@"FBAccessTokenKey"];
    facebook.expirationDate = [defaults objectForKey:@"FBExpirationDateKey"];
    NSLog(@"Retrieved authorization info");
}
if (![facebook isSessionValid]) {
    NSLog(@"Not logged In");
    permissions = [[NSArray alloc] initWithObjects:
                   @"publish_actions", 
                   @"offline_access", 
                   nil];
    [facebook authorize:nil];
} else {
    [self appReturnCheck];
}

和appReturnCheck调用dismissModalViewControllerAnimated      - (无效)appReturnCheck {

NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];

if ([defaults objectForKey:@"FBID"] != nil && [defaults objectForKey:@"AppID"] != nil) {
    [self dismissModalViewControllerAnimated:YES];
  }
}

但是,在UI事件发生之前(即用户单击按钮),不会执行此代码。有什么方法可以通过编程方式解除模态视图控制器吗?

0 个答案:

没有答案