CGAffineTransform

2020-05-01  本文已影响0人  ienos

表示一个从二维空间的坐标转义到另外一个二维空间坐标的一个映射

CGAffineTransformMake 每次都是以最初位置的中心点作为参考(最初绘制的位置)
CGAffineTransform 每次都是以传入的 transform 为参考

平移
~~ view.transform = CGAffineTransformTranslate(view.transform, 20, 20);

缩放
~~ view.transform = CGAffineTransformScale(view.transform, 0.9, 0.9);

旋转
~~ view.transform = CGAffineTransformMakeRotation(M_PI / 4);

三个组合变换

    CGAffineTransform translate = CGAffineTransformTranslate(view.transform, 20, 20);
    CGAffineTransform scale = CGAffineTransformScale(view.transform, 0.9, 0.9);
    // 两个变换的组合   用来连接两个变换效果并返回。返回的 t = t1 * t2
    CGAffineTransform concat = CGAffineTransformConcat(translate, scale);
    CGAffineTransform rotate = CGAffineTransformRotate(view.transform, M_PI / 4);
    view.transform = CGAffineTransformConcat(concat, rotate);
上一篇 下一篇

猜你喜欢

热点阅读