AまたはBのいずれかからUITabBarController D(アプリケーションのメインインターフェイス)に移行する「最良の」方法を理解しようとしています-条件付きでCを通過します.
つまり、次のすべてが有効であることを望みます。
A -> C -> D
A -> B -> C -> D
A -> B -> D
A -> D
C はモーダル ダイアログであり、プロファイルに情報が設定されていない場合、基本的に不足している情報をユーザーに尋ねます。
私はもう試した:
D の viewDidLoad 関数で D -> C からトリガーされたモーダル セグエを使用する:
([self performSegueWithIdentifier:@"ShowNumberDialog" sender:self];)
viewDidLoad 関数で C を D のモーダルとしてプログラムで表示します。
(void)viewDidLoad { [super viewDidLoad]; NSString *deviceNumber = [[UserModel sharedSingleton] deviceNumber]; if ([deviceNumber isEqual:[NSNull null]]) { UIStoryboard *storyboard = [UIStoryboard storyboardWithName:@"MainStoryboard" bundle:nil]; UIViewController *vc = [storyboard instantiateViewControllerWithIdentifier:@"NumberDialog"]; [vc setModalPresentationStyle:UIModalPresentationFullScreen]; NSLog(@"Showing device number dialog"); [self presentModalViewController:vc animated:NO]; } }
これらのどちらも、さらに私が行った数え切れないほどの他の「ハッキー」な試みは機能しているようです。したがって、これを行う方法について基本的なことを理解していないと思います。誰かがより良い方法をお勧めできますか?