目前我正在iOS10中测试我当前的版本。我正在使用 Xcode 8 beta 6进行测试。这里 Quicklook / QLPreviewController委托方法没有调用。此代码集已经与XCode 7和iOS 9.3版本一起使用。我在Apple Developer论坛中检查了这个问题。但找不到答案。有谁解决了这个问题? (我正在使用Objective-C)
如何在XCode 8中使用Quicklook / QLPreviewController( iOS 10 )?
// ----------------- iOS 10解决方案(预览器作为子视图)------------------ -
将预览器添加为子视图时会发生此问题。然后我们主要在iOS 9.3及以下版本中使用以下代码行。
[self addChildViewController:previewer];
self.view addSubview:previewer.view];
[previewer didMoveToParentViewController:self];
在iOS 10中,问题来自以下代码行。
[self addChildViewController:previewer];
对于iOS 10,我们需要检查版本并添加上面的代码行。下面是工作代码集。
QLPreviewController* previewer = [[QLPreviewController alloc] init];
previewer.dataSource = self;
previewer.delegate = self;
// To avoid iOS 10 previewer issue.
if (SYSTEM_VERSION_LESS_THAN(@"10.0")) {
[self addChildViewController:previewer];
}
CGFloat width = self.view.frame.size.width;
CGFloat height = self.view.frame.size.height;
previewer.view.frame = CGRectMake(0, 102, width, height-300);
[self.view addSubview:previewer.view];
[previewer didMoveToParentViewController:self];
答案 0 :(得分:1)
我也遇到了这个问题,但我无法通过您的解决方案解决此问题。 这是我的代码:
QLPreviewController *preview = [[QLPreviewController alloc] init];
[preview setDataSource:self];
[preview setDelegate:self];
if(SYSTEM_VERSION_LESS_THAN(@"10.0"))
{
[self addChildViewController:preview];
}
[preview didMoveToParentViewController:self];
[self.view addSubview:preview.view];
答案 1 :(得分:0)
此答案https://stackoverflow.com/a/41908926/870671也可能解决您所看到的问题。我正在展示我的QLPreviewController
,而不是使用视图控制器包含。