0

我有一个应用程序,它使用 safari 通过 Instagram 进行身份验证,当它返回时,我希望它立即加载表格视图,而不需要登录视图。这是我现在要做的:

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
    self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];
    DVGViewController *myVC = [[DVGViewController alloc] initWithNibName:@"DVGViewController" bundle:nil];
    self.viewController = [[UINavigationController alloc] initWithRootViewController:myVC];
    self.window.rootViewController = self.viewController;
    [self.window makeKeyAndVisible];
    return YES;
}


- (BOOL)application:(UIApplication *)application handleOpenURL:(NSURL *)url {
    // some code skipped
    UITableViewController *myTVC = [[DVGTableViewController alloc] init];
    self.viewController = [[UINavigationController alloc] initWithRootViewController:myTVC];
    return YES;
}

目前,我仍然每次都能使用第一种方法,尽管第二种方法也被触发,因为我用它从 url 得到计算,我知道这一点。为什么它不加载 tableView 我不知道。

4

2 回答 2

0
- (BOOL)application:(UIApplication *)application handleOpenURL:(NSURL *)url

如果您的应用来自特定的 URl,例如来自 facebook auth 或来自 safari,则该方法将调用,然后此方法将调用

于 2013-03-26T09:42:54.843 回答
0

我发现了一个错误。在第二种方法中,我从未设置过 window 和 rootViewController。将此代码添加到第二种方法有帮助。

self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];
self.window.rootViewController = self.viewController;
[self.window makeKeyAndVisible];
于 2013-03-26T10:16:06.840 回答