標籤:
#import "ViewController.h"@interface ViewController ()@property (weak, nonatomic) IBOutlet UIImageView *imageV;@end@implementation ViewController- (void)viewDidLoad { [super viewDidLoad]; // Do any additional setup after loading the view, typically from a nib.}- (IBAction)moveUp:(id)sender { //平移 [UIView animateWithDuration:0.5 animations:^{ //使用Make,它是相對於最原始的位置做的形變.不累加形變,且多次點擊只形變一次 //self.imageV.transform = CGAffineTransformMakeTranslation(0, -100); //相對於上一次做形變.初始值self.imageV.transform為0,多次點擊,會自動在上一次形變的基礎上做平移 self.imageV.transform = CGAffineTransformTranslate(self.imageV.transform, 0, -100); }]; }- (IBAction)moveDown:(id)sender { //平移 [UIView animateWithDuration:0.5 animations:^{ //使用Make,它是相對於最原始的位置做的形變. //self.imageV.transform = CGAffineTransformMakeTranslation(0, -100); //相對於上一次做形變. self.imageV.transform = CGAffineTransformTranslate(self.imageV.transform, 0, 100); }];}- (IBAction)rotation:(id)sender { [UIView animateWithDuration:0.5 animations:^{ //旋轉(旋轉的度數, 是一個弧度),M_PI_4,_底線表示一個除號/ //self.imageV.transform = CGAffineTransformMakeRotation(M_PI_4); self.imageV.transform = CGAffineTransformRotate(self.imageV.transform, M_PI_4); }]; }- (IBAction)scale:(id)sender { [UIView animateWithDuration:0.5 animations:^{ //縮放 //self.imageV.transform = CGAffineTransformMakeScale(0.5, 0.5); self.imageV.transform = CGAffineTransformScale(self.imageV.transform, 0.8, 0.8); }]; }/** * 總結: 1:平移:transform是結構體,定義一個transform:CGAffineTransform form //使用Make,它是相對於最原始的位置做的形變.不累加形變,且多次點擊只形變一次 //self.imageV.transform = CGAffineTransformMakeTranslation(0, -100); //相對於上一次做形變.初始值self.imageV.transform為0,多次點擊,會自動在上一次形變的基礎上做平移 self.imageV.transform = CGAffineTransformTranslate(self.imageV.transform, 0, -100); 2:旋轉: //旋轉(旋轉的度數, 是一個弧度),M_PI_4,_底線表示一個除號/ //self.imageV.transform = CGAffineTransformMakeRotation(M_PI_4); self.imageV.transform = CGAffineTransformRotate(self.imageV.transform, M_PI_4); 3:縮放: //縮放 //self.imageV.transform = CGAffineTransformMakeScale(0.5, 0.5); self.imageV.transform = CGAffineTransformScale(self.imageV.transform, 0.8, 0.8); 4:清空形變屬性: CGAffineTransform form = CGAffineTransformIdentity; self.imageV.transform = form; 5:1:在實際開發中,使用情境:1:當涉及一些frame的改變或是形變的時候可以用transform來取代frame 2:一般在實際開發中都是平移,旋轉縮放混合使用。 */@end
ios開發transform屬性