• 仪表盘


    1.关于角度问题:

    //图片旋转角度

    //#define M_E         2.71828182845904523536028747135266250   /* e              */

    //#define M_LOG2E     1.44269504088896340735992468100189214   /* log2(e)        */

    //#define M_LOG10E    0.434294481903251827651128918916605082  /* log10(e)       */

    //#define M_LN2       0.693147180559945309417232121458176568  /* loge(2)        */

    //#define M_LN10      2.30258509299404568401799145468436421   /* loge(10)       */

    //#define M_PI        3.14159265358979323846264338327950288   /* pi             */

    //#define M_PI_2      1.57079632679489661923132169163975144   /* pi/2           */

    //#define M_PI_4      0.785398163397448309615660845819875721  /* pi/4           */

    //#define M_1_PI      0.318309886183790671537767526745028724  /* 1/pi           */

    //#define M_2_PI      0.636619772367581343075535053490057448  /* 2/pi           */

    //#define M_2_SQRTPI  1.12837916709551257389615890312154517   /* 2/sqrt(pi)     */

    //#define M_SQRT2     1.41421356237309504880168872420969808   /* sqrt(2)        */

    //#define M_SQRT1_2   0.707106781186547524400844362104849039  /* 1/sqrt(2)      */

    //图片旋转方式

    //    self.imgViewWheel.transform = CGAffineTransformMakeRotation(-M_PI_2);

    //    self.imgViewWheel.transform = CGAffineTransformMakeRotation(-M_PI);

    //    self.imgViewWheel.transform = CGAffineTransformMakeRotation(-M_1_PI);

    //    self.imgViewWheel.transform = CGAffineTransformMakeRotation(-M_2_PI);

    //    self.imgViewWheel.transform = CGAffineTransformMakeRotation(-M_2_SQRTPI);

    //    self.imgViewWheel.transform = CGAffineTransformMakeRotation(-M_SQRT2);

    //    self.imgViewWheel.transform = CGAffineTransformMakeRotation(-M_2_SQRTPI);

    //    self.imgViewWheel.transform = CGAffineTransformMakeRotation(-M_2_SQRTPI);

    //    self.imgViewWheel.transform = CGAffineTransformMakeRotation(-M_SQRT1_2);

    2.关于旋转

        //测试转动

        //设置图片旋转速度(顺时针速度是M_PI_4 * 0.005)

        //    self.imgViewWheel.transform = CGAffineTransformRotate (self.imgViewWheel.transform, M_PI_4

        //    * 0.005);

      //开始角度

        // self.imgViewWheel.transform = CGAffineTransformMakeRotation (0);

        //中间角度

        // self.imgViewWheel.transform = CGAffineTransformMakeRotation (M_PI * 2 / 3);

        //结束角度

        // self.imgViewWheel.transform = CGAffineTransformMakeRotation (M_PI * 4 / 3);

    3.关于线程和随机数

    //每3秒执行一次线程

    - (void)suijishu

    {

        NSLog (@"每3s将输出一个随机数");

        // 在子线程中做事情

        dispatch_async (dispatch_get_global_queue (0, 0), ^{

          // 创建一个5s的定时器

          NSTimer *timer = [NSTimer timerWithTimeInterval:3

                                                   target:self

                                                 selector:@selector (test)

                                                 userInfo:nil

                                                  repeats:YES];

          // 需要将定时器添加到运行循环中

          [[NSRunLoop currentRunLoop] addTimer:timer forMode:NSDefaultRunLoopMode];

          // 在子线程中想要执行定时器,必须开启运行循环(这里就有一个死循环)

          [[NSRunLoop currentRunLoop] run];

          CFRunLoopRun ();

        });

    }

    //生成一个随机数

    - (void)test

    {

        //获取一个随机数范围在:[0,5)

        float abcd = (arc4random () % 501);

        self.num = M_PI * 4 * abcd / 1500;

        NSLog (@"指针刻度:"

               @"%.2f",

               abcd / 100);

        CFRunLoopStop (CFRunLoopGetCurrent ());

    }

    //让图片匀速旋转

    //定义要旋转的View

    {

     UIView * pointView;

    }

    - (void)viewDidLoad

    {

          [self   start];

     }

    //开始转动方法

    - (void)start

    {

        CADisplayLink *link = [CADisplayLink displayLinkWithTarget:self selector:@selector (rotate)];

        [link addToRunLoop:[NSRunLoop mainRunLoop] forMode:NSDefaultRunLoopMode];

        }

    //转动角度,速度控制

    - (void)rotate

    {

       float num =  M_PI * 4*30;

        //设置图片旋转速度

        pointView.transform = CGAffineTransformMakeRotation (num);

    }

  • 相关阅读:
    conda 环境配置
    刨根问底 | MySQL 是如何利用索引的?
    Linux 服务器进程避免 OOM 的方法
    SQL Server中遇到tempdb突然暴涨怎么办?
    面试官:你能接受加班吗?
    TableLayoutPanel 有关合并单元格
    window批量去除文件名称空格
    第四周预习
    jar打包exe(exe4j)
    狄利克雷过程(Dirichlet Process)
  • 原文地址:https://www.cnblogs.com/wangbinios/p/5173993.html
Copyright © 2020-2023  润新知