Objective c 如何在objective C-iOS8中将QLViewController添加为子视图

Objective c 如何在objective C-iOS8中将QLViewController添加为子视图,objective-c,ios8,qlpreviewcontroller,Objective C,Ios8,Qlpreviewcontroller,在以前的iOS版本中,我曾将QLViewController添加为子视图。使用我自己的应用程序标题和导航栏非常方便,但在iOS 8中,它在标题下方添加了一个空格。它是自己导航栏的空间 您可以看到随附的img: 我使用以下代码: QLPreviewController *previewController = [[QLPreviewController alloc] init]; previewController.dataSource = self; previewController.dele

在以前的iOS版本中,我曾将QLViewController添加为子视图。使用我自己的应用程序标题和导航栏非常方便,但在iOS 8中,它在标题下方添加了一个空格。它是自己导航栏的空间

您可以看到随附的img:

我使用以下代码:

QLPreviewController *previewController = [[QLPreviewController alloc] init];
previewController.dataSource = self;
previewController.delegate = self;
previewController.currentPreviewItemIndex = 0;
previewController.view.frame = CGRectMake(0, 0, self.containerView.frame.size.width, self.containerView.frame.size.height);
[self addChildViewController:previewController];
[previewController didMoveToParentViewController:self];
[self.containerView addSubview:previewController.view];
我怎样才能保证iOS7的功能性?我只想隐藏qlpreviewcontroller导航栏


谢谢

我正在解决完全相同的问题。到目前为止,我找到的唯一解决方案是:

//    qlController.view.frame = CGRectMake(0, 0, CGRectGetWidth(self.view.bounds), CGRectGetHeight(self.view.bounds));//self.view.bounds;
//    qlController.view.autoresizingMask = UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleHeight;

[self addChildViewController:qlController];
[self.view addSubview:qlController.view];

NSDictionary *bindings = @{@"qlPreviewController": qlController.view};
qlController.view.translatesAutoresizingMaskIntoConstraints = NO;
[self.view addConstraints:[NSLayoutConstraint constraintsWithVisualFormat:@"H:|[qlPreviewController]|" options:0 metrics:nil views:bindings]];
[self.view addConstraints:[NSLayoutConstraint constraintsWithVisualFormat:@"V:|[qlPreviewController]|" options:0 metrics:nil views:bindings]];

[qlController didMoveToParentViewController:self];
注释行是遗留代码,可以在
iOs7
上完美地工作。其主要思想是停止使用弹簧和支柱,开始使用自动布局。结果看起来不错,但旋转仍然存在一些问题

效果很好: Iphone 4s/5/6/6+iOs7纵向+横向,iOs8纵向 IPad所有型号iOs7,8纵向+横向

效果不好:
iphone4s/5/6/6+iOs8横向:导航栏和内容之间有一定的间距。我认为这是苹果的QLPreviewController的问题,而不是我的代码。

最后我使用UIWebView作为解决方案。我不喜欢它,但它适用于所有版本。此外,我的应用程序不能使用自动布局,它支持iOS 5.1.1的旧iPad