これは良いアイデアは、彼らがサインアップしてしまった場合に応じて、どちらの場合も、あなたのナビゲーションコントローラをロードすることで、おそらく何、確かに可能ですが、別のルートビューコントローラを使用します。
if (hasUserSignedUp) {
nav = [[UINavigationController alloc] initWithRootViewController:rootViewController];
}
else {
su = [[SignUpViewController alloc] initWithNibName:nil bundle:nil];
nav = [[UINavigationController alloc] initWithRootViewController:su];
}
[window addSubview:nav.view];
[window makeKeyAndVisible];
app deleteはビュー階層のルートを作成する必要があります。そこから、適切に表示されるように操作できます。私があなただったら
、私は上記のコードを使用すると、彼らが署名またはサインアップした後、通常のルートビューコントローラをプッシュしてから修正するでしょうNAVスタックスタック:
[self.navigationController pushViewController:rootViewController animated:YES];
double delayInSeconds = 0.5f;
dispatch_time_t popTime = dispatch_time(DISPATCH_TIME_NOW, delayInSeconds * NSEC_PER_SEC);
dispatch_after(popTime, dispatch_get_main_queue(), ^(void){
self.navigationController.viewControllers = [NSArray arrayWithObject:self.navigationController.viewControllers.lastObject];
});
このISN」これを行う最もクリーンな方法(dispatch_after
)ですが、どのように処理されているのか分かります。 rootViewControllerにhidesBackButton
がYES
に設定されていることを確認してください。 rootViewControllerが
私はこれを投票するべきではないと思います。本質的に技術的な質問でもありますが、それはまた、 'applicationDidFinishLaunching:'メソッドが果たす役割の中心になる哲学的な質問です。 –
私はそれを試してみました。それ以外の場合は、質問を投稿する必要はありません。 – rosst400
"これはコンパイルして実行しますか?"以外の意味を持つ場合は、 – mydogisbox