2012-01-28 54 views
0

我正在開發一個Cocos2D遊戲。在舞臺上展示一個UIView,給用戶一個執行任務的列表。有使用動畫向上或向下移動的文本字段。我的代碼如下。即使在調用commitAnimation之後,動畫仍然影響每個視圖

 [textField setFrame:CGRectMake(textField.frame.origin.x, textField.frame.origin.y, textField.frame.size.width, textField.frame.size.height)]; 
     [inviteButton setFrame:CGRectMake(inviteButton.frame.origin.x, inviteButton.frame.origin.y, inviteButton.frame.size.width, inviteButton.frame.size.height)]; 
     [headingLabel setFrame:CGRectMake(headingLabel.frame.origin.x, headingLabel.frame.origin.y, headingLabel.frame.size.width, headingLabel.frame.size.height)]; 

     [UIView beginAnimations:nil context:NULL]; 
     [UIView setAnimationDuration:0.3]; 
     [UIView setAnimationDelegate:self]; 
     [textField setFrame:CGRectMake(textField.frame.origin.x, textField.frame.origin.y-50, textField.frame.size.width, textField.frame.size.height)]; 
     [inviteButton setFrame:CGRectMake(inviteButton.frame.origin.x, inviteButton.frame.origin.y-50, inviteButton.frame.size.width, inviteButton.frame.size.height)]; 
     [headingLabel setFrame:CGRectMake(headingLabel.frame.origin.x, headingLabel.frame.origin.y-30, headingLabel.frame.size.width, headingLabel.frame.size.height)]; 
     [UIView commitAnimations]; 
     [self.view.layer removeAllAnimations]; 

問題是,用戶完成他按下取消按鈕刪除超級鑑於這種觀點後,也包括UIAlertView中,並出現在我的地圖中刪除這一觀點之後其它子視圖每個視圖是由動畫影響我曾經移動文本字段和標籤向上或向下。 UIAlertView使用相同的動畫顯示,所以正在發生其他子視圖。任何人都可以告訴我爲什麼會發生這種情況?

問候

回答

1

你必須在animationID設置在beginAnimations:context:方法的獨特價值。
See the official doc

另外這個文檔狀態:

使用這種方法是不鼓勵在IOS 4.0及更高版本。您應該使用基於塊的動畫方法來指定您的動畫。

+0

我得到了解決方案。感謝basvk。我其實犯了一個錯誤。在設置UI組件的框架之前,我正在調用[UIView commitAnimations]。 – Aqueel 2012-02-01 11:57:35

相關問題