2010-10-15 68 views
0

继承人: 我在viewDidLoad中编写了一个UIImageView,并且我希望它可以随着我的功能buttonPressed **向下移动,而不需要像我那样创建其他子视图。如何移动UIImageView?

继承人的代码。

- (无效)viewDidLoad中{

[超级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目标:自选择器:@selector(buttonPressed:)USERINFO:无重复:NO];

[self.view addSubview:banetteView]; 

}

- (无效)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]; 

}

- (无效)onAnimationComplete:(的NSString *)animationID完成:(的NSNumber *)完成上下文: (void *)上下文{

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]; 

}

回答