0

誰かが次の状況の解決策を見つけるのを手伝ってくれたらありがたいです。

UIViewのあるポイントから別のポイントへの再配置をアニメーション化したいのですが(これは可能でした。以下のコードを確認してください)、中央に別のUIViewがあります。実際、この2番目のビューはビューのすぐ後ろに配置されています。引っ越したい。基本的に私が達成したいのは、この2番目のビューでアニメーションが表示されないようにすることです。

    //second view placed at position x = 100, width = 20, height = 20
    UIView *secondView = [[UIView alloc] initWithFrame:CGRectMake(100, 0, 20, 20)];
    seconView.backgroundColor = [UIColor redColor];
    [self.superview addSubview:secondView];

    //from now on, this code occurs when tapping a button

   //main view placed at position x = 0, width = 100, height = 20
   UIView *view = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 100, 20)];
   view.backgroundColor = [UIColor yellowColor];

   [self.superview addSubview:view];

   [UIView beginAnimations:@"moveView" context:nil];
   [UIView setAnimationCurve:UIViewAnimationCurveEaseIn];
   [UIView setAnimationDuration:0.7f];
   //main view will be moved to position x = 120, meaning that it will go through the second view.
   subView.frame = CGRectOffset(view.frame, view.frame.size.width + seconView.frame.size.width, 0);

    [UIView commitAnimations];

私はzposition、opaque、opacity、alpha、bringToFrontの各プロパティで遊んでいますが、まったく成功していません。

4

1 に答える 1

0

私はすでにそれを理解しました。

私の問題は、代わりに UIBUttons があったことでした。そのため、それらを UIViews 内に配置し、2 番目のビューにより大きな zposition を設定し、背景色もスーパービューのものにする必要があります。

于 2013-03-25T15:49:00.003 に答える