• 利用纯代码写出一个秒表表盘的方法 —— #DF


    @interface ViewController ()
    
    @property (nonatomic, strong) CALayer *secLayer; // 秒针layer
    @property (nonatomic, strong) NSTimer *timer;    // 定时器
    
    @end
    
    @implementation ViewController
    
    - (void)viewDidLoad {
        [super viewDidLoad];
    
        // 创建一个表盘
        UIView *showView            = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 300, 300)];
        showView.center             = self.view.center;
        showView.layer.borderWidth  = 8.f;
        showView.layer.cornerRadius = 150;
        showView.layer.borderColor  = [UIColor purpleColor].CGColor;
        [self.view addSubview:showView];
        
        // 创建出秒针layer
        self.secLayer                 = [CALayer layer];
        self.secLayer.anchorPoint     = CGPointMake(0, 0);
        self.secLayer.frame           = CGRectMake(150, 150, 3, 130);
        self.secLayer.backgroundColor = [UIColor orangeColor].CGColor;
        [showView.layer addSublayer:self.secLayer];
        
        // 创建定时器
        self.timer = [NSTimer scheduledTimerWithTimeInterval:1.f
                                                      target:self
                                                    selector:@selector(timerEvent)
                                                    userInfo:nil
                                                     repeats:YES];
    }
    
    - (void)timerEvent {
        
        static int i = 1;
        
        self.secLayer.transform = CATransform3DMakeRotation((((360 / 60.f) * i++) / 180.0 * M_PI), 0, 0, 1);
    }
    
    @end
  • 相关阅读:
    《课后习题》
    《课后习题---求两点之间的距离》
    《day06---面向对象入门》
    《java作业》
    《选择排序》
    《冒泡排序》
    《java版进制转换》
    《c语言全局变量的用法》
    《递归问题_2》
    C#把动态创建的多个控件中指定控件显示在最上层
  • 原文地址:https://www.cnblogs.com/sixindev/p/4844452.html
Copyright © 2020-2023  润新知