コントローラーに UIView を追加し、そのビューに UIButton を追加しました。そのビューを水平方向にアニメーション化しているので、そのビューに追加されているため、そのビューとともにボタンも移動しますが、ユーザーがボタン(アニメーション化されている)に触れると、ボタンがアニメーション化されてすぐにダウンする必要があります。ビューの古いアニメーション (ボタンのスーパー ビュー) がアニメーションしている間に、このボタンのアニメーションを実行する必要があります。
私はそれをしましたが、ボタンのスーパービューのアニメーションが開始されると、そのビューの大きなアニメーションが開始されなくなるまで、ボタンは上下にアニメーション化されます。
ここにコードがあります
tempRabbit = [[UIView alloc]initWithFrame:CGRectMake(0, 0, 360, 360)];
tempView=[[UIView alloc]initWithFrame:CGRectMake(900, 0, 1024, 500)];
UIImageView *temp=[[UIImageView alloc]initWithFrame:CGRectMake(0, 200, 360, 360)];
UIButton *tempBtn=[UIButton buttonWithType:UIButtonTypeRoundedRect];
[tempBtn setFrame:CGRectMake(0, 0, 360, 360)];
[tempBtn addTarget:self action:@selector(rabbitTaped1) forControlEvents:UIControlEventTouchUpInside];
[tempBtn setTitle:@"Show View" forState:UIControlStateNormal];
NSArray *animationArray=[[NSArray alloc]init];
animationArray=[NSArray arrayWithObjects:
[UIImage imageNamed:@"rabbit1.png"],
[UIImage imageNamed:@"rabbit2.png"],
[UIImage imageNamed:@"rabbit3.png"],
[UIImage imageNamed:@"rabbit4.png"],
[UIImage imageNamed:@"rabbit5.png"],
[UIImage imageNamed:@"rabbit6.png"],
[UIImage imageNamed:@"rabbit7.png"],
[UIImage imageNamed:@"rabbit8.png"],
[UIImage imageNamed:@"rabbit9.png"],
[UIImage imageNamed:@"rabbit10.png"],
[UIImage imageNamed:@"rabbit11.png"],
[UIImage imageNamed:@"rabbit12.png"],
[UIImage imageNamed:@"rabbit13.png"], nil];
temp.animationImages=animationArray;
temp.animationDuration=2;
temp.animationRepeatCount=0;
[temp startAnimating];
//[tempRabbit addSubview:temp];
[tempRabbit addSubview:tempBtn];
[tempView addSubview:tempRabbit];
[self.view addSubview:tempView];