#import "ViewController.h" @implementation ViewController - (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil { self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil]; if (self) { // Custom initialization } return self; } - (void)viewDidLoad { [super viewDidLoad]; iv = [[UIImageView alloc] initWithFrame:CGRectMake(100, 100, 100, 30)]; iv.image = [UIImage imageNamed:@"2"]; [self.view addSubview:iv]; [iv release]; [UIView animateWithDuration:1.0f animations:^(void){ iv.alpha = 0.0f; iv.transform = CGAffineTransformMakeTranslation(10.0f, 0.0f); }]; UIButton * btn = [UIButton buttonWithType:UIButtonTypeRoundedRect]; [btn setTitle:@"back" forState:UIControlStateNormal]; [btn addTarget:self action:@selector(btnPressed:) forControlEvents:UIControlEventTouchUpInside]; btn.frame = CGRectMake(200, 200, 50, 30); [self.view addSubview:btn]; UIButton * btn1 = [UIButton buttonWithType:UIButtonTypeRoundedRect]; [btn1 setTitle:@"disappear" forState:UIControlStateNormal]; [btn1 addTarget:self action:@selector(btn1Pressed:) forControlEvents:UIControlEventTouchUpInside]; btn1.frame = CGRectMake(250, 200, 50, 30); [self.view addSubview:btn1]; } -(void)btnPressed:(id)sender { [UIView animateWithDuration:1.0f animations:^(void){ iv.alpha = 1.0f; iv.transform = CGAffineTransformIdentity; }]; } -(void)btn1Pressed:(id)sender { [UIView animateWithDuration:1.0f animations:^(void){ iv.alpha = 0.0f; iv.transform = CGAffineTransformMakeTranslation(10.0f, 0.0f); }]; } @end CGAffineTransformIdentity属性能还原到 进行动画 之前的状态