【问题标题】:how to check if object is dragged in swift?如何检查对象是否被快速拖动?
【发布时间】:2016-01-25 23:08:32
【问题描述】:

我如何知道对象是否被拖动以及它被拖动的方向 我的对象是汽车,它们遵循不同的路径,我想测试它们是否向前拖动(汽车的前部可以指向任何方向,因为它遵循不同的路径)

【问题讨论】:

    标签: ios swift drag


    【解决方案1】:

    所以我想你正在使用UIPanGestureRecognizer。在您的选择器方法中,您需要检查 (X, Y) 坐标是大于还是小于其原始点。

    这是一个很好的起点:

    func handlePan(sender: UIPanGestureRecognizer) {
        let point: CGPoint = recognizer.locationInView(self.view)
            switch recognizer.state {
            case .Changed:
                if let view = recognizer.view {
                    carImageView.center = CGPoint(x: point.x, y: point.y)
                }
            case .Ended:
                if point.x > 0 {
                    // went right
                 } else {
                    // went left
                 }
                 if point.y > 0 {
                     // went down
                 } else {
                     // went up
                 }
             default: break
             }
         }
    }
    

    您可以做其他很酷的事情,例如为以下情况设置枚举:.Up、.Down、.Left、.Right,您可以通过这种方式实现行为。

    【讨论】:

    • 我如何获得汽车的方向?我需要将汽车方向与拖动方向进行比较 - 汽车沿着随机路径行驶
    • 感谢您的帮助...但我仍然看不到我将如何比较方向...我不想拖车...我想加快车速如果它被向前拖动......你知道如果拖动与汽车前进的方向相同,是否可以以某种方式进行比较?
    • 汽车只能在 2d 横向滚动类型的飞机上前进或后退,还是自上而下的老式 GTA 类型的视图?
    • 它是一个 2d 平面,但是汽车遵循随机的 CGPaths,所以前进可以同时向左到一辆车,向右到另一辆车。一辆车可以向左行驶,另一辆车向右行驶。我希望他们在向他们前进的方向拖动时走得更快。
    猜你喜欢
    • 2018-07-10
    • 1970-01-01
    • 1970-01-01
    • 2020-07-25
    • 2020-04-27
    • 1970-01-01
    • 1970-01-01
    • 2015-03-28
    • 1970-01-01
    相关资源
    最近更新 更多