当用户按下按钮时,我的应用程序在UIPopoverController中显示一个视图控制器。在iOS7上工作正常,但在iOS8测试版中,视图控制器的顶部位于popover的导航栏下方。您可以在下面的屏幕截图中看到差异。
我制作了一个非常简单的应用程序来显示问题。有一个按钮连接到下面显示的方法。内容是一个非常简单的视图控制器,黄色背景和两个标签。 thePopoverController是一个UIPopoverController。
- (IBAction)go:(id)sender {
self.contents = [[ContentsViewController alloc] init];
UINavigationController *navController = [[UINavigationController alloc]initWithRootViewController:self.contents];
self.thePopoverController = [[UIPopoverController alloc] initWithContentViewController:navController];
[self.thePopoverController presentPopoverFromRect:self.view.frame inView:self.view permittedArrowDirections:0 animated:TRUE];
}
有谁知道为什么会在iOS8上发生这种情况?有没有办法让它在iOS7和8上运行,而不必硬编码偏移量?任何帮助非常感谢!
干杯
答案 0 :(得分:0)
我遇到了这个问题,并从我的视图控制器的edgesForExtendedLayout掩码中移除UIRectEdgeTop为我修复了它。所以在设置self.contents之后,请执行以下操作:
self.contents.edgesForExtendedLayout = UIRectEdgeLeft | UIRectEdgeBottom | UIRectEdgeRight;