3dtouch展示(像联系人应用程序一样)UIView的peek without pop

12

我正在尝试实现3D Touch功能,以展示信息摘要(例如Peek)。但我不想它弹出。我只想像联系人应用程序一样预览信息:

输入图片说明

它只显示一个UIView,并且不涉及两个力度级别(peek和pop)。

我该如何实现这样的功能?

附:我不想处理长按手势。


你有没有找到解决方案? - ToddH
不行,你不能这样做。这是联系人的本机行为。 - Klevison
1个回答

0

介绍

你好

我知道可能有点晚了,但以防其他人也遇到这个问题:我确实相信这是可能的,而且我不认为这是“联系人的本机行为”。尽管它不像UIKit API中的peek pop视图那样简单。你需要:

步骤

  1. 子类化 UIGestureRecognizer(也许也可以与 UITapGestureRecognizer 一起使用),并注册 UITouch 并使用它们的 force 属性。

  2. 设置一个带有透明但模糊边缘的 UIViewController(与 .overCurrentContext 模态呈现样式一起,如果我没记错的话),在中间放置所需的内容(就像峰值视图一样)。然后在中心视图上添加一个 UIPanGestureRecognizer 以便滑动按钮来解除显示。

  3. 为那个 UIViewController 创建一个自定义的动画转换,并在子类化的 UIGestureRecognizer 中注册 UITouchesforce 属性达到一定高度时触发。当 force 属性降低到足够低时,动画将被反向执行。

总结说明

我认为这是一个有点费时的任务,可能还有更简单的方法。例如,使用第三方库进行长按手势(可以注册触摸大小),但这不会给人相同的感觉。


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