利用旋转实现时钟(IOS)
by 伍雪颖
- (void)viewDidLoad {
[super
viewDidLoad];
self.secondHand.layer.anchorPoint
= CGPointMake(.5,
.9);
self.minuteHand.layer.anchorPoint
= CGPointMake(.5,
.9);
self.hourHand.layer.anchorPoint
= CGPointMake(.5,
.9);
self.timer = [NSTimer
scheduledTimerWithTimeInterval:1.0
target:self
selector:@selector(tick)
userInfo:nil
repeats:YES];
[self
tick];
}
- (void)tick {
NSCalendar *calendar = [[NSCalendar
alloc]
initWithCalendarIdentifier:NSGregorianCalendar];
NSUInteger units =
NSHourCalendarUnit |
NSMinuteCalendarUnit |
NSSecondCalendarUnit;
NSDateComponents *components = [calendar
components:units
fromDate:[NSDate
date]];
CGFloat hoursAngle = (components.hour /
12.0) *M_PI *
2.0;
CGFloat minsAngle = (components.minute /
60.0) *
M_PI *
2.0;
CGFloat secsAngle = (components.second /
60.0) *
M_PI *
2.0;
self.hourHand.transform
= CGAffineTransformMakeRotation(hoursAngle);
self.minuteHand.transform
= CGAffineTransformMakeRotation(minsAngle);
self.secondHand.transform
= CGAffineTransformMakeRotation(secsAngle);
}