0

iOSでわからない問題が発生しています。

うまく機能する UIImageView のアニメーションがあります。また、 UIImageView を画面上の正しい位置に配置する setCenter もあり、これもうまく機能します。

問題は、UIImageView の中心を設定してアニメーションを開始しようとすると、アニメーションは機能しますが、中心が変化しないことです。

アニメーション コード:

-(void)startMirror{

[UIView animateWithDuration:1.0
                      delay:0.0
                    options:UIViewAnimationOptionRepeat|UIViewAnimationOptionAutoreverse
                 animations:^{
                     self.transform = CGAffineTransformMakeScale(-1, 1);
                 }
                 completion:^(BOOL completed){}];
  }

メインコード:

-(void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event {

 [self.face1 setCenter:CGPointMake(200, 300)];
 [self.face1 startMirror];
}

私の問題で小さなプロジェクトを作成しました。ここからダウンロードできます we.tl/0gPqkVDCKK 46行目をコメントしてコメントを外してみてください。

4

2 に答える 2

1

startMirrorで変換を行った後、中心点を変換する必要があると思います。

于 2013-03-13T02:27:54.823 に答える
0

私は解決策を見つけて、以下を置き換えます:

[self.face1 setCenter:CGPointMake(200, 300)];

と:

self.face1.transform = CGAffineTransformMakeTranslation(-11, 80);

そしてアニメでは

self.transform = CGAffineTransformScale(self.transform, -1, 1);
于 2013-03-13T15:25:42.120 に答える