gpt4 book ai didi

ios - QLPreviewController 有时不显示文档

转载 作者:行者123 更新时间:2023-12-01 16:45:46 31 4
gpt4 key购买 nike

我有一个主从应用程序,其中主显示文档列表,详细信息显示这些文档的预览。

在 Storyboard 中,我绘制了一个名为 的 UIView vista预览 .
我已经在 .h 中声明了它:

@property (weak, nonatomic) IBOutlet UIView *vistaPreview;

我还声明了变量 QLPreviewController* previewVC;用于.m

在 .m 中,我有一个在用户触摸列表中的一个文档时调用的方法。该方法在 View vistaPreview 中添加一个 QLPreviewController:
    previewVC = [[QLPreviewController alloc] init];
previewVC.dataSource = self;
previewVC.delegate = self;
[self addChildViewController:previewVC];
CGFloat w= self.vistaPreview.frame.size.width;
CGFloat h= self.vistaPreview.frame.size.height;
previewVC.view.frame = CGRectMake(0, 0,w, h);
[self.vistaPreview addSubview:previewVC.view];
[previewVC didMoveToParentViewController:self];

问题是,在多次单击列表中的某些文档后,我得到下一个错误:
Domain=XPCObjectsErrorDomain Code=2 "The operation couldn’t be completed.

该应用程序不会崩溃,我只在 QLPreviewController View 中收到一 strip 有文档名称(而不是内容)的消息。当我单击列表中的另一个文档时,应用程序恢复正常工作,显示文档内容。

知道如何解决吗?

提前致谢!

最佳答案

问题是 QLPreviewController child 的数量。
因此,我查找 QLPreviewController 子项,并将它们从 parentViewController 中删除。

NSArray *children = [self childViewControllers];
for (int i = 0; i<[children count]; i++) {
NSString *classString = [NSString stringWithFormat:@"%@", [[children objectAtIndex:i] class]];
if ([classString isEqualToString:@"QLPreviewController"]) {
[[children objectAtIndex:i] removeFromParentViewController];
}
}

关于ios - QLPreviewController 有时不显示文档,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20053543/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com