代码之家  ›  专栏  ›  技术社区  ›  Sunil Targe

如何使用uipushbehavior以相同速度推送动态对象?

  •  2
  • Sunil Targe  · 技术社区  · 6 年前

    我不是物理专家。但是,我想移动具有动态高度(取决于内容)的标签,就像 电话提示器 .但当我开始10级的行为时,它开始移动,但突然变慢了,我希望以相同的速度继续向上移动。

    以下是我的代码:

    push = UIPushBehavior(items: [lblText], mode: .instantaneous)
    push.setAngle(-.pi/2, magnitude: 10)
    animator.addBehavior(push)
    

    lbltext大小为375*1500

    1 回复  |  直到 5 年前
        1
  •  2
  •   AjinkyaSharma    5 年前

    乔希是对的,试着增加摩擦力和阻力。 要添加摩擦力,必须创建uidynamicitemBehavior

    let behavior = UIDynamicItemBehavior.init(items: [lblText])
    

    使用需要在其上执行动画的项创建此。

    然后你可以增加摩擦力和阻力。

    behavior.friction = 0
    behavior.resistance = 0
    

    最后将行为添加到动画师

    animator.addBehavior(behavior)
    

    让我知道这是否有效,很乐意为您效劳。

    推荐文章