2012-05-26 54 views
0

我正在開發的iOS遊戲,需要自定義動畫,所以我用這個方法UIView有時會顯示子視圖嗎?

CGRect basketTopFrame = mainScreenView.frame; 
basketTopFrame.origin.x = 320; 
[UIView beginAnimations:nil context:nil]; 
[UIView setAnimationDuration:0.5]; 
[UIView setAnimationDelay:.5]; 
[UIView setAnimationCurve:UIViewAnimationCurveEaseIn]; 
mainScreenView.frame = basketTopFrame; 
[UIView commitAnimations]; 

在我宣佈mainScreen這樣

IBOutlet UIView *mainScreenView; 

所以在IB我已經把UIView的.h文件在接口中的視圖,並與mainScreenView聯繫起來

所以在mainViewScreen視圖有時顯示有時不會(在第二次嘗試工作),但是當我刪除動畫代碼,它的工作原理非常好..我不知道發生了什麼任何幫助,將不勝感激感謝

編輯 這是我加的觀點

MainScreen *mainScreen = [[MainScreen alloc]initWithNibName:@"MainScreen" bundle:nil]; 
[mainScreenView addSubview:mainScreen.view]; 
+0

我有點困惑,你說有時會出現視圖。但是,如果將x設置爲320,至少在縱向模式下的iPhone上,將視圖移出視圖。那麼你的動畫應該做什麼?你什麼時候調用動畫? – iTukker

+0

這就是當動畫方法被直接稱爲視圖(0,0) –

+0

這裏是一個圖像什麼[發生](http://imgur.com/ZwbSC) –

回答

0

我嘗試了在沙箱中的項目,而這個工作對我來說:

- (IBAction)buttonTouched:(id)sender { 
    myView.transform = CGAffineTransformMakeTranslation(-320, 0); 

    [UIView beginAnimations:nil context:nil]; 
    [UIView setAnimationDuration:0.5]; 
    [UIView setAnimationDelay:.5]; 
    [UIView setAnimationCurve:UIViewAnimationCurveEaseIn]; 
    myView.transform = CGAffineTransformMakeTranslation(0,0); 
    [UIView commitAnimations]; 

} 
+0

好吧動畫工作正常,但視圖不顯示爲myview的子視圖在這種情況下,如果這是有道理的 –

+0

對不起,我不明白。示例中的myView只是viewControllers主視圖的子視圖,我在界面構建器中添加了該視圖。 – iTukker

+0

好吧,在這裏它再次....我發佈的圖像[這裏](http://imgur.com/ZwbSC)是從兩個不同的版本(請注意,我沒有點擊按鈕,因此不稱爲動畫方法)......在一個版本中,視圖通常在第二個版本中加載,但它不(我只是得到灰色屏幕);我已經更新了代碼,所以看看謝謝 –

0

貌似你試圖移動的東西關閉屏幕。一個簡單的方法就是做這個

[UIView beginAnimations:@"UIBase Hide" context:nil]; 
[UIView setAnimationDuration:0.5]; 
[UIView setAnimationDelay:.5]; 
[UIView setAnimationCurve:UIViewAnimationCurveEaseIn]; 
mainScreenView.transform = CGAffineTransformMakeTranslation(320,0); //slide view to the right. 
[UIView commitAnimations]; 

注:在翻譯用320不會視圖移動到屏幕的第320像素,而其移動視圖320像素的權利。所以,如果你mainScreenView是origin.x = 100這個翻譯後,它現在是在420

要移回做

self.transform = CGAffineTransformIdentity; 
+0

同樣的事情發生,所以這是什麼是[發生](http://imgur.com/ZwbSC) –

相關問題