3D Touch的Peek View不会向上滑动以进行操作。

8
我有一个表视图,在3D Touch上,我使用QLPreviewController预览PDF文件。弹出和弹出工作正常。

由于某种原因,我无法让预览控制器视图向上滑动并显示我的操作项。在(NSArray<id<UIPreviewActionItem>> *)previewActionItems中返回了有效的UIPreviewActionItems数组。

由于在peek时未显示出来,所以无论向上滑动多少次都无法移动预览,并且没有任何操作项可见,就像我在其他应用程序中看到的那样。

4个回答

34

我也遇到了同样的问题。请确保你的-previewActionItems方法在你正在预览的视图控制器中。

-previewActionItems的文档


我有这个想法。很确定我尝试过,但没有成功。我会仔细检查一下,也许我从未正确地测试过它。谢谢。 - Dean Davids
1
“that you are previewing” 你解决了我很长时间以来的难题。谢谢。 - ecnepsnai

7

我曾经遇到过同样的问题,我的预览视图控制器返回了-previewActionsItems

我忘记了我将其包装在UINavigationController中,而这实际上是进行预览的视图控制器。为了解决这个问题,我编写了一个子类:

- (NSArray<id<UIPreviewActionItem>> *)previewActionItems
{
    return self.topViewController.previewActionItems;
}

2

预览动作项应该添加在你想要预览的ViewController中,而不是在注册registerForPreviewingWithDelegate的ViewController中。


2
现在您需要覆盖一个属性而不是一个函数。
override var previewActionItems: [UIPreviewActionItem] {
    return previewActions
}

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接