这听起来可能很有趣,但我花了几个小时尝试使用 UIView 和一些触发器重新创建一个具有真实旋转的旋钮。我实现了目标,但现在我不知道如何知道旋钮是向左还是向右旋转。数学中最相关的部分在这里:
- (void)touchesMoved:(NSSet *)touches withEvent:(UIEvent *)event { UITouch *touch = [触摸任何对象]; CGPoint pt = [触摸 locationInView:self]; 浮动 dx = pt.x - iv.center.x; 浮动 dy = pt.y - iv.center.y; 浮动 ang = atan2(dy,dx); //进行旋转 如果(deltaAngle == 0.0){ deltaAngle = ang; initialTransform = iv.transform; }别的 { 浮动角度Dif = deltaAngle - ang; CGAffineTransform newTrans = CGAffineTransformRotate(initialTransform, -angleDif); iv.transform = newTrans; currentValue = [self goodDegrees:radiansToDegrees(angleDif)]; } }
理想情况下,我可以利用一个数值来告诉我旋转是正的还是负的。