CGAffineTransformMakeRotation всегда по часовой стрелке

Я пытаюсь оживитьUIImageView вращать против часовой стрелки, когда пользователь касается его и перемещает палец по часовой стрелке.
По сути, я хочу, чтобы после завершения касания UIImageView вернулся в исходное положение, и он должен двигаться против часовой стрелки.

У меня проблема в том, что каждый раз, когда угол (в градусах) больше 180, изображение поворачивается по часовой стрелке в исходное положение. Очевидно, он берет кратчайший путь назад. Что касается углов 179 градусов или меньше, изображение поворачивается против часовой стрелки (что мне нужно).

Я попробовал оба этих куска кода, и они ведут себя одинаково. Какие-либо предложения?

ПРИМЕЧАНИЕ: здесь угловая переменная является двойной, и ее инициализируют равной нулю, и она остается 0 во всем моем коде

-(void) touchesEnded:(NSSet *)touches withEvent:(UIEvent *)event 
{
    [self handleObject:touches withEvent:event isLast:YES];

    /* this doesn't make rotation counter clockwise for rotations greater than 180 */
    [UIView beginAnimations:nil context:NULL];
    [UIView setAnimationCurve: UIViewAnimationCurveLinear];
    [UIView setAnimationDuration:1.0];
    [UIView setAnimationRepeatCount:1]; 
    CGAffineTransform transform = CGAffineTransformMakeRotation(angle);
    circle1ImgVw.transform = CGAffineTransformRotate(transform, angle);
    // ends animation
    [UIView commitAnimations];


    /* this doesn't make rotation counter clockwise for rotations greater than 180 */
    [UIView animateWithDuration:1.0 animations:^{
            circle1ImgVw.transform = CGAffineTransformMakeRotation(angle);
        }];
} 

Я пытался заглянуть вэта почта и есть несколько проблем с этим

Я не могу больше касаться и поворачивать изображение после завершения анимацииОн всегда анимируется по часовой стрелке, и я не смог понять, как заставить его плавно идти против часовой стрелки от точки, в которой пользователь закончил вращать изображение.

Ответы на вопрос(2)

Ваш ответ на вопрос