有没有办法更新UISnapBehavior锚点?

时间:2015-05-04 08:39:26

标签: uikit

我正在构建一个自定义容器视图,这是一堆堆叠在一起的卡片(每张卡片都是一个子视图控制器。)

现在有一个动作,用户可以选择"卡片和我目前正在实现它:

  1. 在第一次触及内部时,我添加了一个UISnapBehavior。卡"快照"在一小段时间内用户的手指。
  2. 经过一小段延迟后,UISnapBehavior被删除,UIAttachmentBehavior就位(所以我可以在用户移动手指时更新锚点。)
  3. 现在提出了两个问题:

    1. 如果用户在UISnapBehavior处于活动状态时移动他/她的手指,我将删除快照行为并将其替换为UIAttachmentBehavior,但这样做会导致可见的视觉故障,其中卡片会在连接到手指之前反弹一点。这是一个很短的持续时间,但仍然非常明显。
    2. 如果我直接使用UIAttachmentBehavior,我无法将其配置为以与快照行为相同的方式工作。无论是弹簧动画太多还是噼啪声都太少了。
    3. 现在我想要的是以下内容:

      • 当用户第一次触摸卡片时,卡片应该卡在手指上(手指应该卡片上有一个指定的锚点,以便在触摸卡片时卡扣指向手指)
      • 当用户移动卡片时,卡片应随手指移动。
      • 当用户松开手指(触摸)时,应该有一个小的剩余加速度,这已经使用UIDynamicItemBehavior完成了。

      那么有没有办法可以获得UISnapBehavior风格的附件(手指),但仍然允许锚移动?

      我是否需要为此推送自己的自定义行为?

0 个答案:

没有答案