1

由于我们在 iOS 13 中失去了 3D Touch API,例如UIViewControllerPreviewingUIContextMenuInteraction似乎是替代品。

如果您想在 Haptic Touch 上放置菜单,则 UIContextMenuInteraction 很好。如果你想在 Haptic Touch 得到认可时做点别的事情怎么办?

有这样的事吗?还是 Haptic Touch 与UILongPressGesture?

4

2 回答 2

1

UIContextMenuInteraction 是一个精确的替代品。您不必设置菜单;你可以只放一个自定义预览。该预览是视图控制器视图的快照,您提供该视图控制器。然后用户可以点击预览来执行实际的视图控制器转换。所以这是与视图控制器的 peek-and-pop 的精确模拟。

于 2019-09-18T01:10:30.407 回答
1

阅读文档 UIContextMenuInteraction 继承自 UIInteraction。搜索所有子类:

  • UIContextMenuInteraction
  • UIDrag交互
  • UIDrop交互
  • UILargeContentViewerInteraction
  • UI铅笔交互
  • UISpringLoadedInteraction
  • UITextInteraction

查看每个子类,我认为最适合替换 UIViewControllerPreviewing 的是 UILargeContentViewerInteraction 因为 UILargeContentViewerInteractionDelegate 具有返回视图控制器的方法。

UIViewController 预览

UIContextMenuInteraction

UI交互

UILargeContentViewerInteractionDelegate

于 2019-08-29T07:44:04.940 回答