rootViewController をプログラムで設定すると、奇妙な動作が発生しました。私は xib のみを使用しています。これは、私が既に試したシナリオです。このコードを使用すると、VC を正しくロードする前に黒い画面が少し点滅します。
- (void)setRootVC:(UIViewController *)viewController {
UIWindow *window = [[[UIApplication sharedApplication] delegate] window];
[UIView transitionWithView:window
duration:0.0
options:UIViewAnimationOptionTransitionNone
animations:^{ window.rootViewController = viewController; }];
}
別の機能を使うと、まばたきはなくなりますが、別の奇妙な動作があります。新しい VC にたくさんのテキスト フィールドがあり、そのうちの 1 つをbecomeFirstResponder
inviewDidLoad
メソッドに設定していますが、VC が読み込まtextFieldDidEndEditing
れると が呼び出されます。これはまったく奇妙です。これがコードです。
- (void)setRootVC:(UIViewController *)viewController {
UIWindow *window = [[[UIApplication sharedApplication] delegate] window];
[UIView transitionFromView:window.rootViewController.view
toView:viewController.view
duration:0.0
options:UIViewAnimationOptionTransitionNone
completion:^(BOOL finished){
window.rootViewController = viewController;
}];
}
私は Objective-C に制限されているため、迅速な解決策は役に立ちません。返信ありがとうございます。