我正在构建一个自定义容器视图,这是一堆堆叠在一起的卡片(每张卡片都是一个子视图控制器。)
现在有一个动作,用户可以选择"卡片和我目前正在实现它:
- 在第一次触及内部时,我添加了一个UISnapBehavior。卡"快照"在一小段时间内用户的手指。
- 经过一小段延迟后,UISnapBehavior被删除,UIAttachmentBehavior就位(所以我可以在用户移动手指时更新锚点。)
醇>
现在提出了两个问题:
- 如果用户在UISnapBehavior处于活动状态时移动他/她的手指,我将删除快照行为并将其替换为UIAttachmentBehavior,但这样做会导致可见的视觉故障,其中卡片会在连接到手指之前反弹一点。这是一个很短的持续时间,但仍然非常明显。
- 如果我直接使用UIAttachmentBehavior,我无法将其配置为以与快照行为相同的方式工作。无论是弹簧动画太多还是噼啪声都太少了。
醇>
现在我想要的是以下内容:
- 当用户第一次触摸卡片时,卡片应该卡在手指上(手指应该卡片上有一个指定的锚点,以便在触摸卡片时卡扣指向手指)
- 当用户移动卡片时,卡片应随手指移动。
- 当用户松开手指(触摸)时,应该有一个小的剩余加速度,这已经使用UIDynamicItemBehavior完成了。
那么有没有办法可以获得UISnapBehavior风格的附件(手指),但仍然允许锚移动?
我是否需要为此推送自己的自定义行为?