【问题标题】:How can I stop a UIView movement in Swift?如何在 Swift 中停止 UIView 移动?
【发布时间】:2014-12-17 18:19:01
【问题描述】:

我第一次使用 Swift 并在屏幕上有一个正方形。广场从向右移动开始。当我点击它时,我希望它上升。我根本不希望它继续向右,我希望它直接向上。不幸的是,物理和重力使它在上升之前更向右弯曲。在将重力设置为新值之前,我该怎么做才能完全停止物体的重力拉力和加速度?

这会将对象转向正确的方向,但我需要它在执行此操作之前立即停止。

if(self.gravity.gravityDirection.dx == 1){
 self.gravity.gravityDirection = CGVectorMake(-1.0, 0.0)
    }

【问题讨论】:

    标签: ios swift uiview


    【解决方案1】:

    阻止项目受行为影响的方法是从行为中移除项目或从动画师中移除行为。例如,您可以在此处将 self 从现有的重力行为中移除。

    【讨论】:

    • 我尝试了 self.gravity.removeItem(self.squareView),然后在我的 if 语句末尾添加了重力 = UIGravityBehavior(items: [self.squareView]),但所做的只是导致我的正方形减速,然后在触摸屏幕边缘时完全停止。没有转弯。
    • 这些只是文字。我不知道你在做什么,也不知道这是否有意义。我的建议,效果很好。按照您的要求,移动视图急转弯。
    • 我不怀疑你已经得到它的工作,我只是想弄清楚如何将它应用到我所拥有的。
    • 当然——如果你的动画师有更多的工作,那可能会影响它。但关键是,我所说的绝对会阻止移动视图死在它的轨道上,这正是你所要求的。电影证明了这一点。如果这没有发生,您需要弄清楚发生了什么。
    猜你喜欢
    • 1970-01-01
    • 2016-07-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-05-03
    • 2016-05-15
    相关资源
    最近更新 更多