2010-10-15 4 views
0

Voici le deal: Je code un UIImageView dans viewDidLoad et je veux qu'il descende avec ma fonction buttonPressed ** sans créer d'autre sous-vue comme je le fais.Comment déplacer UIImageView?

Indique le code.

- (void) {viewDidLoad

[super viewDidLoad];

banetteImage = [UIImage imageNamed: @ "myBanette.png"];

UIImageView *banetteView = [[UIImageView alloc] initWithImage:banetteImage]; 
banetteView.frame = CGRectMake(100, -740, 568, 790); 
banetteView.opaque = NO; 

[NSTimer scheduledTimerWithTimeInterval: 2,5 cible: self sélecteur: @selector (ButtonPressed:) userInfo: néant répétitions: NO];

[self.view addSubview:banetteView]; 

}

- (void) ButtonPressed {

double speed = 1/round(random() % 100) + 1.0; 

[UIView beginAnimations:nil context:banetteView]; 
[UIView setAnimationDuration: 2*speed ]; 

banetteView.frame = CGRectMake(100, -2, 568, 790); 
banetteView.opaque = NO; 

UIImageView *banetteView = [[UIImageView alloc] initWithImage:banetteImage]; 
banetteView2.frame = CGRectMake(100, -740, 568, 790); 
banetteView.opaque = NO; 
banetteView.hidden = YES; 
[self.view addSubview:banetteView]; 

// set a stop callback so we can cleanup the banette when it reaches the 
// end of its animation 
[UIView setAnimationDidStopSelector:@selector(onAnimationComplete:finished:context:)]; 
[UIView setAnimationDelegate:self]; 
[UIView commitAnimations]; 

}

- (void) onAnimationComplete: (NSString *) animationID terminé: (NSNumber *) a terminé son contexte: (vide *) contexte {

UIImageView *banetteView = context; 


double speed = 1/round(random() % 100) + 1.0; 
banetteView.frame = CGRectMake(100, -2, 568, 790); 
banetteView2.opaque = NO; 
[self.view addSubview:banetteView2]; 

[UIView beginAnimations:nil context:banetteView]; 
[UIView setAnimationDuration: 2*speed ]; 


[banetteView release]; 

}

Répondre