0
点赞
收藏
分享

微信扫一扫

NSCalendar(loading...)



// 每秒钟秒针转6度
#define MSPerSecondTurnSecond 6
// 每分钟分针转6度
#define MSPerMinuteTurnMinute 6
// 每小时时针转
#define MSPerHourTurnHour 30

// 每分钟时针转 (60分钟 30度)
#define MSPerMinuteTurnHour 0.5

#define angleWithTime(x) ((x) / 180.0 * M_PI)

// 获取日历对象
NSCalendar *calendar = [NSCalendar currentCalendar];

// 获取日期组建
NSDateComponents *components = [calendar components:NSCalendarUnitSecond | NSCalendarUnitMinute | NSCalendarUnitHour | NSCalendarUnitDay | NSCalendarUnitMonth | NSCalendarUnitYear fromDate:[NSDate date]];

// 获取秒数, 分钟, 小时
CGFloat second = components.second;
CGFloat minute = components.minute;
CGFloat hour = components.hour;


// 算出秒钟, 分钟, 时钟各旋转多少
CGFloat secondArc = second * MSPerSecondTurnSecond;
CGFloat minuteArc = minute * MSPerMinuteTurnMinute;
CGFloat hourArc = hour * MSPerHourTurnHour;
hourArc += minute * MSPerMinuteTurnHour;


// 秒钟, 分钟, 时钟 旋转动画
self.secondLayer.transform = CATransform3DMakeRotation(angleWithTime(secondArc), 0, 0, 1);
self.minuteLayer.transform = CATransform3DMakeRotation(angleWithTime(minuteArc), 0, 0, 1);
self.hourLayer.transform = CATransform3DMakeRotation(angleWithTime(hourArc), 0, 0, 1);

举报

相关推荐

0 条评论