zoukankan      html  css  js  c++  java
  • 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

  • 相关阅读:
    HTML5中表单的创建
    防冲撞协议原理实验报告
    yii2.0 Activeform表单部分组件使用方法 [ 2.0 版本 ]
    Yii正则验证
    Yii2用Gii自动生成Module+Model+CRUD
    yii2框架安装运行init.bat报错php.exe不是内部或外部命令
    YII2.0安装教程,数据库配置前后台 [ 2.0 版本 ]
    ignore_user_abort函数制定计划任务
    php 常用的系统函数
    php常用字符串处理函数
  • 原文地址:https://www.cnblogs.com/damonWq/p/5158564.html
Copyright © 2011-2022 走看看