Есть ли простой способ указать, должно ли изображение вращаться по часовой стрелке или против часовой стрелки в объективе C? У меня есть спидометр с иглой (дизайн, который отражает цены на автомобили) - он работает нормально, за исключением случаев, когда стрелка находится ближе к повороту вниз и выходит из экрана на другую сторону. Я хочу, чтобы он всегда вращался против часовой стрелки, чтобы перейти к меньшим числам, и по часовой стрелке, чтобы перейти к более высоким числам. Вот мой сегмент кода:
// figure out the minimum and maximum prices shown on the
// speedometer
float min = [_a.text floatValue] * 1000;
float max = [_g.text floatValue] * 1000;
// set calibration between number labels to be small or large
int cal = SMALL_CALIBRATION;
if ([_stickerPriceSetting floatValue] >= TRIGGERPRICE)
cal = LARGE_CALIBRATION;
// set an animation duration of 1.5 seconds for the needle rotation
[UIView beginAnimations:nil context:NULL];
[UIView setAnimationDuration:1.5];
// low prices (off speedometer)
if (price < (min - cal))
_needle.transform = CGAffineTransformMakeRotation(- M_PI/12);
// price too high (off speedometer)
else if (price > (max + cal))
_needle.transform = CGAffineTransformMakeRotation(M_PI * 13/12);
// need to have needle point to the price
else {
float delta = (max - min);
float price_point = price - min;
_needle.transform = CGAffineTransformMakeRotation(price_point/delta * M_PI);
}
[UIView commitAnimations];