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;
}

現時点では、最初のメソッドが毎回機能するようになっていますが、2番目のメソッドもトリガーされます。これは、URLから計算を取得し、それを知っているためです。tableViewがロードされない理由はわかりません。

4

2 に答える 2

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

アプリがFacebook認証やサファリなどの特定のURLから送信された場合、メソッドが呼び出されます。このメソッドは呼び出します。

于 2013-03-26T09:42:54.843 に答える
0

エラーを見つけました。2番目の方法では、windowとrootViewControllerを設定したことがありません。このコードを2番目のメソッドに追加すると役に立ちました。

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