利用旋转实现时钟(IOS)

利用旋转实现时钟(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);
}

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。