Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/107.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/swift/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 我怎样才能让你只打一次电话?_Ios_Swift_Uigesturerecognizer_Caanimation - Fatal编程技术网

Ios 我怎样才能让你只打一次电话?

Ios 我怎样才能让你只打一次电话?,ios,swift,uigesturerecognizer,caanimation,Ios,Swift,Uigesturerecognizer,Caanimation,正如标题所说,如何使旋转手势只应用一次?例如,我希望一个正方形在旋转手势重新生成后旋转90度。这是我目前正在使用的代码。它几乎可以工作,因为当它应该应用一次旋转时,有时它会旋转两次或更多。我的代码有什么问题,或者如何修复 if (rotationGestureRegonizer.rotation.toDegree >= 30 && !neveragain) { rot += Float(M_PI/2.5) redArrow.posit

正如标题所说,如何使旋转手势只应用一次?例如,我希望一个正方形在旋转手势重新生成后旋转90度。这是我目前正在使用的代码。它几乎可以工作,因为当它应该应用一次旋转时,有时它会旋转两次或更多。我的代码有什么问题,或者如何修复

if (rotationGestureRegonizer.rotation.toDegree >= 30 && !neveragain) {
            rot += Float(M_PI/2.5)
        redArrow.position = CGPointMake(shapeLayer.position.x+CGFloat(sinf(rot)*70),shapeLayer.position.y+CGFloat(cosf(rot)*70))

        var transform = CATransform3DIdentity;
        transform = CATransform3DRotate(shapeLayer.transform, CGFloat(M_PI/2.5), 0.0, 0.0, 1.0);
            var transform2 = CATransform3DIdentity;
            transform2 = CATransform3DRotate(redArrow.transform, CGFloat(M_PI/2.5), 0.0, 0.0, -1.0);
        shapeLayer.transform = transform
            redArrow.transform = transform2
            neveragain = true

        }

 override func touchesEnded(touches: NSSet!, withEvent event: UIEvent!) {
        println("touch up")
        neveragain = false
    }

在手势回调函数中,当
gestureRecognitizer.state==UIgestureRecognitizerStateStart
为true时运行代码