以下のView Controller(VC)構造体を作っています。
[UINavigationViewController] -> [UIPageViewController] -> [UIViewControllers]
次に、この VC は縦向きと横向きをサポートする必要があります。
私が抱えている問題は、方向を任意の側に変更するときに発生します。
あなたは問題を見ることができます。
赤い部分は UIPageViewController の子 VC の背景色です。
青い部分は UIPageViewController の背景色です。
子 VC は UIPageViewController によって再ルーティングされなかったと思います。私は長い間それを理解してきました。最終的に、次のオーバーライドされた関数をカスタムUIPageViewController に追加する回避策を見つけました。
- (void)didRotateFromInterfaceOrientation:(UIInterfaceOrientation)fromInterfaceOrientation
{
[self setViewControllers:self.viewControllers
direction:UIPageViewControllerNavigationDirectionForward
animated:NO
completion:NULL];
}
回転が終了するとすぐにビューを下に移動しますが。このコードは問題を大まかに解決します。
とにかく、私は本当に素敵で自然な解決策を知りたいです.
UPDATE
私のアプリはiOS6でうまく動作します。それはiOS7のバグでしょうか?