• 0125——时钟


    #import "ViewController.h"

    @interface ViewController ()
    @property (nonatomic,strong) CALayer *hourLayer;
    @property (nonatomic,strong) CALayer *minLayer;
    @property (nonatomic,strong) CALayer *secLayer;
    @end

    @implementation ViewController

    - (void)viewDidLoad {
        [super viewDidLoad];
        //创建时针,分针,秒针;
        self.hourLayer= [CALayer layer];
        _hourLayer.backgroundColor = [UIColor blackColor].CGColor;
        _hourLayer.bounds = CGRectMake(0, 0, 4, 40);
        _hourLayer.position = self.view.center;
        _hourLayer.anchorPoint = CGPointMake(0.5, 0.8);
        
        [self.view.layer addSublayer:_hourLayer];
        
        self.minLayer = [CALayer layer];
        _minLayer.backgroundColor = [UIColor blackColor].CGColor;
        _minLayer.bounds = CGRectMake(0,  0, 2, 70);
        _minLayer.position = self.view.center;
        _minLayer.anchorPoint = CGPointMake(0.5, 0.8);
        [self.view.layer addSublayer:_minLayer];
        
        self.secLayer = [CALayer layer];
        _secLayer.backgroundColor = [UIColor redColor].CGColor;
        _secLayer.bounds = CGRectMake(0, 0, 2, 90);
        _secLayer.position = self.view.center;
        _secLayer.anchorPoint = CGPointMake(0.5, 0.8);
        [self.view.layer addSublayer:_secLayer];
        
        //创建中心点
        CALayer *centerLayer = [CALayer layer];
        centerLayer.bounds = CGRectMake(0, 0 , 8, 8);
        centerLayer.cornerRadius = 4;
        centerLayer.backgroundColor = [UIColor blackColor].CGColor;
        centerLayer.position = self.view.center;
        [self.view.layer addSublayer:centerLayer];
        
        //获取当前时间
        NSDate *nowDate = [NSDate date];
        NSDateFormatter *formater = [NSDateFormatter new];
        formater.dateFormat  = @"K:m:s";
        NSString *dateString = [formater stringFromDate:nowDate];
        
        //对时间按照:进行分离
        NSArray *numsArray = [dateString componentsSeparatedByString:@":"];
        
        //取出数组中的数字,设置对应的时分秒针旋转度数
        int hour = [[numsArray objectAtIndex:0]intValue];
        int min = [[numsArray objectAtIndex:1]intValue];
        int sec = [[numsArray objectAtIndex:2]intValue];
        //时针
        _hourLayer.transform = CATransform3DRotate(_hourLayer.transform, (hour + min/60.0)*30.0/180.0*M_PI , 0, 0, 1);
        
        //分针
        _minLayer.transform = CATransform3DRotate(_minLayer.transform, (min + sec/60.0)*6.0/180.0*M_PI, 0, 0, 1);
        
        //秒针
        _secLayer.transform = CATransform3DRotate(_secLayer.transform, sec*6/180.0 *M_PI, 0, 0, 1);
        
        [NSTimer scheduledTimerWithTimeInterval:1 target:self selector:@selector(rotate) userInfo:nil repeats:YES];
        

    }

     //旋转
    -(void)rotate{
        _secLayer.transform = CATransform3DRotate(_secLayer.transform, 6/180.0 * M_PI, 0, 0, 1);
        _minLayer.transform = CATransform3DRotate(_minLayer.transform, (6/60.0)/180.0 *M_PI, 0, 0, 1);
        _hourLayer.transform  = CATransform3DRotate(_hourLayer.transform, (30/3600.0)/180.0 *M_PI, 0, 0, 1);
    }



    @end

  • 相关阅读:
    组件间通信
    Android抓包方法(一)之Fiddler代理
    汉字转拼音
    post请求参数问题
    post请求参数设置
    swagger
    IfcPresentationDefinitionResource(介绍定义资源)
    Java计算两个日期之间的时间差(毫秒数)
    IfcPresentationAppearanceResource(外观定义资源)
    IfcMeasureResource(度量资源)
  • 原文地址:https://www.cnblogs.com/damonWq/p/5158564.html
Copyright © 2020-2023  润新知