利用旋转实现时钟(IOS)
发表时间:2020-10-19
发布人:葵宇科技
浏览次数:47
应用扭转实现时钟(IOS)
by 伍雪颖
[img]http://img.blog.csdn.net/20150103234641109?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvcmFpbmxlc3Zpbw==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center
- (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);
}