2011-06-23 19 views
1

我已經實現的方法willRotateToInterfaceOrientation,我的iPhone應用程序很好地animates當我landscapeportrait之間切換orientation運動。是否有可能改變了iPhone定位動畫在我的應用

我的問題是:是否有可能有不同類型的animation?是否有其他內置animations,我可以使用該transition?或者我可以自己篡改它?任何人都可以告訴我例如代碼來改變animation

回答

2

絕對有可能。下面是我所做的左右移動幾個觀點不同的地方自定義動畫:

- (void)willRotateToInterfaceOrientation:(UIInterfaceOrientation)toInterfaceOrientation 
           duration:(NSTimeInterval)duration { 
    [UIView beginAnimations:nil context:NULL]; { 
     [UIView setAnimationCurve:UIViewAnimationCurveEaseInOut]; 
     [UIView setAnimationDuration:0.5]; 
     [UIView setAnimationDelegate:self]; 

     if (toInterfaceOrientation == UIInterfaceOrientationPortrait || 
      toInterfaceOrientation == UIInterfaceOrientationPortraitUpsideDown) { 
      [myImage setCenter:CGPointMake(384.0,170.0)]; 
      [firstLabel setCenter:CGPointMake(235.0,358.0)]; 
      [secondLabel setCenter:CGPointMake(519.0,358.0)]; 
      [button0 setCenter:CGPointMake(164.0,508.0)]; 
      [button1 setCenter:CGPointMake(384.0,508.0)]; 
      [button2 setCenter:CGPointMake(604.0,508.0)]; 
      [button3 setCenter:CGPointMake(274.0,666.0)]; 
      [button4 setCenter:CGPointMake(494.0,666.0)]; 
      [button5 setCenter:CGPointMake(164.0,824.0)]; 
      [button6 setCenter:CGPointMake(384.0,824.0)]; 
      [button7 setCenter:CGPointMake(604.0,824.0)]; 
      [button8 setCenter:CGPointMake(164.0,954.0)]; 
      [button9 setCenter:CGPointMake(604.0,954.0)];  
     } else { 
      [myImage setCenter:CGPointMake(350.0,173.0)]; 
      [firstLabel setCenter:CGPointMake(844.0,66.0)]; 
      [secondLabel setCenter:CGPointMake(844.0,114.0)]; 
      [button0 setCenter:CGPointMake(140.0,450.0)]; 
      [button1 setCenter:CGPointMake(388.0,450.0)]; 
      [button2 setCenter:CGPointMake(636.0,450.0)]; 
      [button3 setCenter:CGPointMake(884.0,450.0)]; 
      [button4 setCenter:CGPointMake(140.0,638.0)]; 
      [button5 setCenter:CGPointMake(388.0,638.0)]; 
      [button6 setCenter:CGPointMake(636.0,638.0)]; 
      [button7 setCenter:CGPointMake(884.0,638.0)]; 
      [button8 setCenter:CGPointMake(844.0,190.0)]; 
      [button9 setCenter:CGPointMake(844.0,280.0)];  
     } 
    } [UIView commitAnimations];    
} 

這偉大的工作,因爲每個圖像蒼蠅在屏幕上以一個新的斑土。你可以使用這樣的東西來創建各種效果。

相關問題