• TransForm简单用法


      1 - (IBAction)btbAction1:(UIButton *)sender {
      2     
      3     
      4     __block ViewController *VC = self ;
      5     
      6     [UIView animateWithDuration:1 animations:^{
      7        
      8         
      9         //1.平移
     10         
     11         //在原来的基础上平移,再次点击按钮则不会移动
     12         
     13 //        CGAffineTransform make_translate = CGAffineTransformMakeTranslation(50, 0);
     14 //        
     15 //        
     16 //        VC.broderView.transform = make_translate ;
     17         
     18         //2.可以连续平移
     19         
     20         //参数1:在谁的基础上平移
     21 //        CGAffineTransform translate = CGAffineTransformTranslate(VC.broderView.transform, 10, 0);
     22 //        
     23 //        VC.broderView.transform = translate ;
     24         
     25         
     26         //3.旋转
     27         //旋转的度数
     28 //        CGAffineTransform make_rotate = CGAffineTransformMakeRotation(M_PI_4);
     29 //        
     30 //        VC.broderView.transform = make_rotate ;
     31 //
     32         
     33         //4.可连续旋转
     34         
     35         CGAffineTransform rotation = CGAffineTransformRotate(VC.broderView.transform, M_PI_4);
     36         
     37 //        VC.broderView.transform = rotation ;
     38         
     39         
     40         
     41         //5.只能一次收缩
     42         
     43 //        CGAffineTransform make_scale = CGAffineTransformMakeScale(0.5, 0.5);
     44 //        
     45 //        VC.broderView.transform = make_scale ;
     46         
     47         
     48         //连续收缩
     49         
     50         CGAffineTransform scale = CGAffineTransformScale(VC.broderView.transform, 0.8, 0.8);
     51         
     52 //        VC.broderView.transform = scale ;
     53         
     54         
     55         //合并两种仿射变换效果 (合并两种效果)
     56         CGAffineTransform contact = CGAffineTransformConcat(rotation, scale);
     57         
     58         VC.broderView.transform = contact ;
     59         
     60     }];
     61     
     62     
     63 }
     64 
     65 
     66 - (IBAction)btnAction2:(UIButton *)sender {
     67     
     68     
     69     //设置锚点,锚点位置不会变化,如果设置锚点,会调整view本身的位置去设置锚点的参数,所以不在点击方法里边设置
     70     self.myView.layer.anchorPoint = CGPointMake(0.5, 0.9);
     71     
     72     
     73     /*
     74      参数1:隔多久执行一次
     75      参数3:定时器的执行方法
     76      参数4:用户信息
     77      参数5:是否重复
     78      */
     79     
     80     [NSTimer scheduledTimerWithTimeInterval:1 target:self selector:@selector(timerAction) userInfo:nil repeats:YES];
     81     
     82     
     83     
     84     
     85     
     86 }
     87 
     88 -(void)timerAction{
     89     
     90     
     91     self.myView.layer.transform = CATransform3DRotate(self.myView.layer.transform, M_PI / 30, 0, 0, 1);
     92     
     93     
     94 }
     95 
     96 
     97 - (void)dealloc {
     98     [_broderView release];
     99     [_myView release];
    100     [super dealloc];
    101 }
    102 @end
  • 相关阅读:
    iostream迭代器操作"txt文本文件"无法写入的思考
    Qt 相对路径 绝对路径
    "lambda"和“bind”的初步思考
    "partition"和“stable_partition”的思考
    "accumulate"的思考
    顺序容器“inset”的思考
    C++重载函数 const形参 引用指针 const_cast
    C++ 可变参数的函数
    JDK8流式处理常用例子
    JDK8时间新API
  • 原文地址:https://www.cnblogs.com/yyxblogs/p/4878948.html
Copyright © 2020-2023  润新知