我正在做一个跳棋游戏,并使用uipangestrerecognizer拖动一个ImageView。我试图找到什么ImageView被拖过屏幕,这样我就能找到它在哪个团队,如果它是一个国王,所以我知道如果移动是合法的。

    func pieceMoved(gesture: UIPanGestureRecognizer){

    if gesture.state == UIGestureRecognizerState.ended {
        tapEnd = gesture.location(in: self.view)
        print(tapBegin)
        print(tapEnd)
        checkBounds(begin: tapBegin, end: tapEnd)
    }else if gesture.state == UIGestureRecognizerState.began{
        tapBegin = gesture.location(in: self.view)
    }
}

@objc func myPanAction(recognizer: UIPanGestureRecognizer) {
    let translation = recognizer.translation(in: self.view)

    if let myView = recognizer.view {
        myView.center = CGPoint(x: myView.center.x + translation.x, y: myView.center.y + translation.y)
    }
    pieceMoved(gesture: recognizer)
    recognizer.setTranslation(CGPoint(x: 0, y: 0), in: self.view)
}

最佳答案

UIView有一个标记属性(Int),可以用于任何目的。你可以给每个人一个唯一的号码,你可以检查你的泛行动。
如果您想做更多的事情,那么将UIImageView子类化并添加一个属性是非常简单的。

关于ios - 查找正在拖动的ImageView,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/47209675/

10-09 10:10