有誰知道如何讓這段代碼停止旋轉過去xyz度的旋鈕,例如停止旋轉340度而不是360度旋轉所以你不能不停地把它轉過來?我正在嘗試製作一個可轉動的旋鈕。它可以工作,但目前它不會被夾住,所以有人可以繼續向前和向後轉動它。我想阻止它做到這一點,所以有一個最小值和最大值。停止旋轉過去xyz度並防止它從0度向後旋轉
- (void)rotating:(KTOneFingerRotationGestureRecognizer *)recognizer {
[self doRotation:recognizer.rotation];
[recognizer setRotation:0];
}
- (void)doRotation:(float)rot {
CGFloat theAngle = atan2(knob.transform.b, knob.transform.a);
float temp_var = RADIANS_TO_DEGREES(theAngle);
if(temp_var < 0) temp_var = 360 - fabs(temp_var);
float percent = (temp_var/315) * 100;
float val = ((float)(percent))/100;
knob.transform = CGAffineTransformRotate([knob transform], rot);
if(percent < 100 && percent > 0) {
display.text = [[NSString alloc] initWithFormat:@"%.f", percent];
}
}
鎖定這個偉大的工程!非常感謝!一個問題,但。我可以設置角度嗎?例如,如果當前的角度應該是3.5? – TayW 2012-02-06 05:05:51
我不明白這個問題。不管你喜歡,你都可以修改這個例子。整個使用的「0」和「5」限制是任意的。 – matt 2012-02-06 05:10:18
那麼我的意思是這個設置默認值?你可以說你旋轉旋鈕,然後退出應用程序,它會記住旋轉,並將其設置回最後一次打開應用程序時的位置。 – TayW 2012-02-06 05:14:57