Iphone 在iOS 8中将ViewController的视图作为子视图添加到UIPageViewController中,在显示/隐藏时会出现奇怪的UINavigationBar

Iphone 在iOS 8中将ViewController的视图作为子视图添加到UIPageViewController中,在显示/隐藏时会出现奇怪的UINavigationBar,iphone,ios8,xcode6,uipageviewcontroller,Iphone,Ios8,Xcode6,Uipageviewcontroller,我一直在做一个项目,在这个项目中,我需要以视图模式显示具有缩放/滑动功能的图像列表。我使用ContainerView创建了自定义ImageViewer,其中添加了UIPageViewController。根据需要,我在UIPageViewcontroller的视图上添加了ImageView。当用户点击imageView时,顶部的UINavigation将在切换的基础上显示和隐藏 在iOS 7.1及以下版本中,一切都如预期般工作。然而,当我在iOS 8设备和模拟器中测试该功能时,ImageView

我一直在做一个项目,在这个项目中,我需要以视图模式显示具有缩放/滑动功能的图像列表。我使用ContainerView创建了自定义ImageViewer,其中添加了UIPageViewController。根据需要,我在UIPageViewcontroller的视图上添加了ImageView。当用户点击imageView时,顶部的UINavigation将在切换的基础上显示和隐藏

在iOS 7.1及以下版本中,一切都如预期般工作。然而,当我在iOS 8设备和模拟器中测试该功能时,ImageView并没有添加到UINavigationBar下方左上角的UIPageViewController中。它添加在导航栏下方,如下面的bug_iOS_8.png所示

一旦我触摸到buggy视图,它就会重新定位到正确的位置,如下图expected.png所示

我已经在示例项目中创建并测试了这个问题,它似乎是iOS8本身使用UIPageViewController时的bug。我也问了几个关于UIPageViewController奇怪行为的问题。请检查示例应用程序,如果有人对正在发生的事情有任何提示,请告诉我

谢谢你的时间和帮助

顺便说一句,我正在使用以下版本的Xcode

更新1:

我已经按照pin建议进行了尝试。但是,问题在于与UIViewController的主视图对齐,而不是与其子视图对齐。在下图中,黄色是UIViewController的主视图,红色是添加的子视图,我在参考superview的黄色视图时将pin添加到了红色。请检查以下屏幕截图

启动时

触摸屏后


非常感谢,

在序列图像板中检查特定的viewController,并确保未选择顶部栏下的扩展边>>。

我有一个非常类似的问题,我修复它的方式是在序列图像板中选择要添加到UIPageViewController的视图并选择pin选项。在下图中,您可以看到“约束到边距”选项,请确保取消选中该选项。此外,在选择要固定的视图时,请确保选择的是superview而不是Top Layout Guide

好奇,你是不是像这样把导航控制器藏起来了

[self.navigationController setNavigationBarHidden:YES];
此外,如果您有多个导航控制器,您可能需要检查是否引用了正确的导航控制器

如果希望在显示ViewController时将其隐藏,则应将其移动到

    -(void) ViewWillAppear{
}

嘿,不错的截图..谢谢@narasimhaikolli的反馈;在德国看截图有点不舒服;我希望选择顶部下方的栏,因为我的视图将位于顶部栏的后面。当用户点击照片或视图时,顶部栏隐藏并显示。在iOS 7中工作正常,但在iOS 8中有问题:感谢您指向上面的方向,但它似乎对我不起作用:是的,我正在使用[self.navigationController setNavigationBarHidden:Yes动画:Yes]隐藏并显示导航控制器;在选择器上。单击imageView时调用选择器。单击ImageView时,将使用[self-presentViewController:…]从父视图显示带有导航的新ViewController。感谢您提供一些提示。但是,问题在于与UIViewController的主视图对齐,而不是与其子视图对齐。请检查我根据您的答案更新的主要问题的更新1,但问题仍然存在:黄色视图是否正确固定到uipageviewcontroller?是的,它已正确固定,但我找到了问题的答案。我会把它贴在答题区。谢谢你的努力和建议。这真的帮了我大忙。