【发布时间】:2012-11-20 18:11:45
【问题描述】:
我正在尝试制作 24 小时模拟时钟,目前有一个 12 小时时钟。
我写的:
currentTime = [NSDate date];
dateComponents = [calendar components:unitFlags fromDate:currentTime];
hour = [dateComponents hour];
minute = [dateComponents minute];
second = [dateComponents second];
hourAngle = (30 * hour + minute / 2);
minAngle = (6 * minute);
secAngle = (6 * second);
secondHand.transform = CGAffineTransformMakeRotation(secAngle * M_PI / 180);
minuteHand.transform = CGAffineTransformMakeRotation(minAngle * M_PI / 180);
hourHand.transform = CGAffineTransformMakeRotation(hourAngle * M_PI / 180);
这非常适合 12 小时制,但我想将其设为 24,因此建议我将角度值除以 2,如下所示:
hourAngle = (30 * hour + minute / 2) /2;
minAngle = (6 * minute) /2;
secAngle = (6 * second) /2;
但是,这给了我一个从上到下的 180 度角,在达到 180 度后重置。
我需要进行哪些更改才能让我的时钟 360 度旋转?
【问题讨论】:
标签: iphone objective-c ios