zoukankan      html  css  js  c++  java
  • iOS基础CGAffineTransform的简单使用

    CoreGraphics框架中的CGAffineTransform类可用于设定UIView的transform属性,控制视图的缩放、旋转和平移操作:

    另称放射变换矩阵,可参照线性代数的矩阵实现方式0.0

    这里附上的CGAffineTransform官方文档:

    https://developer.apple.com/library/ios/documentation/GraphicsImaging/Reference/CGAffineTransform/index.html

    transform 是一种状态,并且只有一种状态

    (1)CGAffineTransformMakeTranslation(<#CGFloat tx#>, <#CGFloat ty#>):只能变化一次,因为这种方式的变化始终是以最原始的状态值进行变化的,所以只能变化一次

    例如:

     UIButton *head = (UIButton *) [self.view viewWithTag:10];
      head.transform = CGAffineTransformMakeTranslation(0,-10);

    (2)CGAffineTransformTranslate(CGAffineTransform t, <#CGFloat tx#>, <#CGFloat ty#>):能够多次变化,每次变化都是以上一次的状态(CGAffineTransform t)进行的变化,所以可以多次变化

      head.transform = CGAffineTransformTranslate(head.transform, 0, -10);

    (3) CGAffineTransformIdentity:清空所有的设置的transform(一般和动画配合使用,只能使用于transfofrm设置的画面)

        UIButton *head = (UIButton *) [self.view viewWithTag:10];
        head.transform = CGAffineTransformIdentity;

    (4)CGAffineTransformMakeScale(CGFloat sx, CGFloat sy)(缩放:设置缩放比例)仅通过设置缩放比例就可实现视图扑面而来和缩进频幕的效果。

        UIButton *head = [self.view viewWithTag:10];
        head.transform = CGAffineTransformScale(head.transform,1.5,1.5);

    (5)CGAffineTransformMakeRotation(CGFloat angle)(旋转:设置旋转角度)

       UIButton *head =  [self.view viewWithTag:10];
        head.transform = CGAffineTransformMakeRotation(M_PI_2);
        UIButton *head = (UIButton *) [self.view viewWithTag:10];
        head.transform = CGAffineTransformRotate(head.transform, -M_PI_4);
    如果错过了一天,那么真的就错过一天。不抛弃,不放弃。点一盏心灯给自己。
  • 相关阅读:
    PAT乙级1014.福尔摩斯的约会 (20)(20 分)
    PAT乙级1013.数素数
    PAT乙级1012.数字分类 (20)(20 分)
    PAT乙级1011.A+B和C (15)(15 分)
    PAT乙级1025.反转链表 (25)
    PAT乙级1020.月饼(20)
    PAT乙级1015.德才论(25)
    PAT乙级1010.一元多项式求导(25)
    PAT乙级1009.说反话(20)
    PAT乙级1008.数组元素循环右移问题(20)
  • 原文地址:https://www.cnblogs.com/741162830qq/p/4525186.html
Copyright © 2011-2022 走看看