CGAffineTransformMakeTranslation、CGAffineTransformMakeScale和CGAffineTransformMakeRotation可用于设定UIView的transform属性,分别控制视图的平移、缩放和旋转,这三种方式的变化始终以最初的状态进行变化。
例如:
新建一个工程,首先在ViewController.m中执行下面这段代码:
UIView *oView = [[UIView alloc]initWithFrame:CGRectMake(20.0, 20.0, 100.0, 100.0)];
[self.view addSubview:oView];
oView.layer.borderWidth = 1.0;
UIView *tView = [[UIView alloc]initWithFrame:CGRectMake(20.0, 20.0, 100.0, 100.0)];
[self.view addSubview:tView];
tView.backgroundColor = [UIColor redColor];
tView.transform = CGAffineTransformMakeTranslation(50.0, 50.0);
运行:
然后在原来代码的基础上添加这行代码:
tView.transform = CGAffineTransformMakeTranslation(50.0, 50.0);
接着运行:我们发现结果还是一样,这就是:这三种方式的变化始终以最初的状态进行变化。
另外,属性transform=CGAffineTransformIdentity能够清空所有的设置的transform,恢复成原来的状态。