我正在制作以下视图控制器(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];
}
尽管一旦完成旋转就会显示向下移动视图。这段代码大致解决了这个问题。
无论如何,我真的很想知道任何好的和自然的解决方案。
更新
我的应用在 iOS6 上运行良好。可能是iOS7的错误?