2013-03-07 120 views
0

我有一個UIImageView與旋轉動畫循環,我需要在屏幕上移動X和Y的UIImageView。移動和旋轉UIImageView

旋轉動畫代碼:

-(void)rotate{ 

if (leftRotate){ 
    leftRotate = NO; 
}else{ 
    leftRotate = YES; 
} 

CGRect initFrame = self.frame; 

[UIView animateWithDuration:0.5 
         delay:0.0 
        options:UIViewAnimationOptionRepeat|UIViewAnimationOptionAutoreverse 
       animations:^{ 

        if (leftRotate){ 
         self.transform = CGAffineTransformRotate(self.transform, -1 * (M_PI/8)); 
        }else{ 
         self.transform = CGAffineTransformRotate(self.transform, M_PI/8); 
        } 

       } 
       completion:^(BOOL completed) { 
        if (completed){ 
         if (!stopRotate){ 
          [self rotate]; 
         } 
        } 
       }]; 
} 

我試着型動物的方法來移動圖像,如設置中心,但我不能移動它。

+0

你也可以使用一個CGAffineTransformConcat到CGAffineTransformRotate和CGAffineTransformTranslate合併成一個轉換並應用 – 2013-03-07 15:15:57

+0

我將它們結合起來在同一個動畫中? ,我需要將UIImageView移出動畫。 – Tony 2013-03-07 15:34:44

+0

我可以使用self.face1.center設置x和y來移動UIImageView,現在的問題是如果我嘗試設置中心 - (void)touchesBegan:(NSSet *)觸及withEvent:(UIEvent *)事件原因,中心不會改變。 – Tony 2013-03-07 15:39:41

回答

0

我找到了辦法,我必須設置中心向外一側的動畫:

CGPoint facePosition = CGPointMake(self.face1.center.x+1, 
           self.face1.center.y); 

self.face1.center = facePosition;