0

在 UIDocumentPickerExtensionViewController 子类中显示视图控制器与系统导航栏重叠。该问题仅在使用 Xcode 6.3 ( iOS 8.3 SDK ) 编译时出现。

UINavigationController *navController = [[UINavigationController alloc] initWithRootViewController:myVC];
[self presentViewController:navController animated:NO completion:nil];

任何指针都会有所帮助。

4

3 回答 3

1

尝试使用(在 viewDidLoad() 中):

self.edgesForExtendedLayout = UIRectEdgeNone;

这为我们解决了这个问题。

于 2015-04-15T16:11:21.720 回答
0

尝试将其放入目标 viewController viewDidLoad

[[self navigationController] setNavigationBarHidden:YES animated:NO];
[[self navigationController] setNavigationBarHidden:NO animated:NO];

我希望这是你想要的。

于 2015-04-16T07:21:40.783 回答
0

这是苹果提交问题后的回复。

这是故意行为。在 iOS 8.3 上,我们公开了导航控制器供您推送,因此您无需提供自己的。尝试将您的代码更改为

UIViewController* testVC = [[UIViewController alloc] init];
testVC.view.backgroundColor = [UIColor greenColor];
if(self.navigationController)
{
    [self.navigationController pushViewController:testVC animated:YES];
}
else
{
    UINavigationController* nc = [[UINavigationController alloc] initWithRootViewController:testVC];
    [self presentViewController:nc animated:NO completion:nil];
}

它应该同时支持 iOS 8.3 和以前的版本。

于 2015-05-06T08:10:56.220 回答