anchorPoint锚点

anchorpoint(锚点)默认值是(0.5,0.5)

与CGAffineTransform连用,通过anchorpoint改变旋转点

view.layer.anchorPoint = CGPointMake(0.5, 1);

图片说明

anchorPoint必须在frame前设置,否则会影响frame的位置而来,【frame是根据center,anchorPoint,bounds等值计算而来】

通过查看API发现,在像CGAffineTransformRotate,CGAffineTransform..的函数最后都会调用CGAffineTransform函数;

通过如下方法,我们使用CGAffineTransform函数实现一个旋转

图片说明

1
2
3
4
5
6
7
8
9
10
/**
* 通过CGAffineTransform api算旋转45度
*/
CGFloat radians = M_PI_4;
CGFloat a = cosf(radians);
CGFloat b = sinf(radians);
CGFloat c = -cosf(radians);
CGFloat d = cosf(radians);
// 旋转45度
self.blueView.transform = CGAffineTransformMake(a, b, c, d, 0, 0);