カスタムセグエを使用して2つのビューコントローラー間でクロスディゾルブしようとしていますが、セグエは適切に開始され、意図したとおりにアニメーションを実行します。ただし、横向きモードの場合、アニメーションの間、宛先のビューコントローラーが縦向きのレイアウトで表示されます。アニメーションが完了すると、宛先のビューコントローラがその横向きのレイアウトに「スナップ」します。両方のビューコントローラは、自動レイアウトを使用して設定されます。
以下は私のカスタムセグエの「実行」方法です。
- (void)perform
{
UIViewController *srcController = self.sourceViewController;
UIViewController *dstController = self.destinationViewController;
dstController.view.transform = srcController.view.transform;
[UIView transitionFromView:srcController.view
toView:dstController.view
duration:self.animationDuration
options:self.animationOptions
completion:self.animationCompletionBlock];
}
表示する前に、宛先ビューコントローラに自動レイアウトをトリガーするように手動で指示する必要がありますか?もしそうなら、これはどのように実行されますか?クロスディゾルブで組み込みのセグエを使用してもこの問題は発生しないようです。カスタムセグエではないことを(成功せずに)判断しようとしました。
これは私をしばらく困惑させました、どんな助けでもありがたいです、そしてもっと詳細が必要であるならば私に知らせてください。