ウィンドウのrootViewControllerをanimationに置き換えようとしていますが、部分的にしか動作しません。window.rootViewControllerをアニメーションで部分的に置き換えます
私はプログラム的にUINavigationControllerを作成 -
その後UIStoryboard *storyBoard = [UIStoryboard storyboardWithName:@"InboxStoryboard" bundle:nil];
UIViewController *innerViewController = [storyBoard instantiateViewControllerWithIdentifier:@"centerView"];
UINavigationController *centerView = [[UINavigationController alloc] initWithRootViewController:innerViewController];
私はアニメーションブロックに包まれたウィンドウのルートビューコントローラ置き換える -
[UIView transitionWithView:self.viewController.view.window
duration:0.5
options: UIViewAnimationOptionTransitionFlipFromLeft
animations:^{
self.viewController.view.window.rootViewController = centerView;
}
completion:nil];
何が起こることはアニメーションが起こるということですが、私のコントローラを作成は部分的にしか見えないので、次の画像を見てください。 -
回転中に表示されるように、ビューは部分的にしかレンダリングされません。
誰もこの種の行動に先立っていますか?
バグ?シミュレータ上のアプリを削除してもう一度実行してください。 – MasterRazer
あなたが投稿したコードの自己は何ですか?このコードを実行しているクラスは明確ではありません。 – rdelmar
自分自身が別のUIObjectである別のUIViewControllerを持っています。 フローは - です。他のUIViewControllerでオブジェクトをインスタンス化し、オブジェクトを使用してルートビューコントローラを別のものに置き換えます。 AFAIKこれはかなり標準的な流れですが、それが部分的にレンダリングされる理由はまだ分かりません。また、私はアニメーションを使用せずに、ルートビューを置き換えるだけで動作します。 –