ナビゲーションコントローラーで始まるアプリケーションがあります。このナビゲーション コントローラーは、モーダル ビュー コントローラーを開くことができます。
- (void)openModalController:(id)sender
{
[self performSegueWithIdentifier:@"SegueIdentifier"];
}
しかし、ユーザーが URL スキームを使用してアプリケーションを開くと、モーダル コントローラーを開いた状態でアプリケーションを表示したいと思います。だから私はいくつかの方法を追加して試しました:
// Controller
- (void)viewDidAppear:(BOOL)animated
{
[super viewDidAppear:animated]; // animated == NO in initial loading
if (_shouldOpenModalController) {
[self openModalController:nil];
}
}
- (void)setShouldOpenModalController:(BOOL)flag
{
_shouldOpenModalController = flag;
}
// AppDelegate
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
if (launchOptions) {
UINavigationController *nc = (UINavigationController *)self.window.rootViewController;
MyViewController *c = (MyViewController *)[ns topViewController];
[c setShouldOpenModalController];
}
}
しかし、ここに問題がありopenModalController:
ます。ストーリーボードで設定したトランジション アニメーションでセグエを実行します。アニメーションなしでどうやってそれを行うことができますか? このタスクに別のアプローチはありますか?