你好
我知道可能有点晚了,但以防其他人也遇到这个问题:我确实相信这是可能的,而且我不认为这是“联系人的本机行为”。尽管它不像UIKit API中的peek pop视图那样简单。你需要:
子类化 UIGestureRecognizer
(也许也可以与 UITapGestureRecognizer
一起使用),并注册 UITouch
并使用它们的 force
属性。
设置一个带有透明但模糊边缘的 UIViewController(与 .overCurrentContext
模态呈现样式一起,如果我没记错的话),在中间放置所需的内容(就像峰值视图一样)。然后在中心视图上添加一个 UIPanGestureRecognizer
以便滑动按钮来解除显示。
为那个 UIViewController
创建一个自定义的动画转换,并在子类化的 UIGestureRecognizer
中注册 UITouches
的 force
属性达到一定高度时触发。当 force
属性降低到足够低时,动画将被反向执行。
我认为这是一个有点费时的任务,可能还有更简单的方法。例如,使用第三方库进行长按手势(可以注册触摸大小),但这不会给人相同的感觉。