您的位置:首页 > 移动开发 > IOS开发

iOS时钟实现

2016-07-07 00:00 639 查看
摘要: iOS时钟实现

#####时钟实现
#####1.首先来看看总体效果



#####2.先来实现秒针的变化
#####2.1先来看效果图片



#####2.2添加UIimageView加载图片,然后添layer

-(void) setUpSecodLayer{
CALayer *layer=[CALayer layer];
CGFloat clockW=self.imageView.bounds.size.width;
layer.position=self.imageView.center;
layer.anchorPoint=CGPointMake(0.5, 1);
layer.bounds=CGRectMake(0, 0, 1,clockW*0.5-20);
layer.backgroundColor=[UIColor redColor].CGColor;
self.secondLayer=layer;
[self.view.layer addSublayer:layer];
}

#####2.3添加一个定时器,不停旋转

- (void)viewDidLoad {
[super viewDidLoad];
[self setUpSecodLayer];
//
[NSTimer scheduledTimerWithTimeInterval:1 target:self selector:@selector(timeChange) userInfo:nil repeats:YES];
}
-(void) timeChange{
//获取当前日历对象
NSCalendar *calendar=[NSCalendar currentCalendar];
//获取日期的组件:年月日时分秒
//components:需要获取的日期组件
//formDate:获取哪个日期的组件
NSDateComponents *cmp=[calendar components:NSCalendarUnitSecond |NSCalendarUnitMinute | NSCalendarUnitHour fromDate:[NSDate date]];
//获取秒
NSInteger second=cmp.second;
//获取分
//    NSInteger minute=cmp.minute;
//获取小时
//    NSInteger hour=cmp.hour;
//
//    NSLog(@"%li",(long)second);
CGFloat secondAngle=(second*6)*(M_PI*2)/360;
self.secondLayer.transform=CATransform3DMakeRotation(secondAngle, 0, 0, 1);

}

#####3源代码详细地址

github
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  iOS时钟实现