2012-02-15 8 views
0

私は目標Cを始めました。私は現在のiPhoneアプリを強化しています。以前のコードは他の誰かによって行われました。ビューを元に戻そうとしていて、ページカールアニメーションを追加しようとしていますが、戻ってみると(removefromsuperview)私の画面は白くなります。私は間違った視点を指していることを理解していますが、正しい視点にどのように言及するのか分かりません。Switch Views(アニメーション付)removeFromSuperViewを使用すると、画面が白くなるのはなぜですか?

- (IBAction)スイッチバック{

[UIView beginAnimations:@"flipview" context:nil]; 
[UIView setAnimationDuration:1]; 
[UIView setAnimationCurve:UIViewAnimationCurveEaseInOut]; 
[UIView setAnimationTransition:UIViewAnimationTransitionCurlUp forView: self.view.superview cache:YES]; 

//[self.navigationController popToRootViewControllerAnimated:YES]; 

[self.view removeFromSuperview]; 

[UIView commitAnimations]; 

}

コメントアウトpopToRootViewControllerは私が前のページに戻ることができます。どんな助けでも本当に感謝しています。私はすべてのこのビューで狂っているよ> <ありがとう!

答えて

-1

スーパービューへの参照であるusign self.viewの代わりに、使用するビューの名前を使用する必要があります。 f.e. : - あなたはVIEW1とVIEW2 を持っている場合 - あなたはこのような何かを試してみてください

[view1 removeFromSuperview]; 
2

を使用してVIEW1を削除することができます。

[UIView transitionWithView:self.navigationController.view duration:1.0 options:UIViewAnimationOptionTransitionCurlDown 
       animations:^{ 
        [self.navigationController popToRootViewControllerAnimated:NO]; 
       } 
       completion:NULL]; 
+0

ありがとう!これは働いた!あなたの助けは本当にありがとう! – nanonano

1
あなたはそのスーパーからビューを削除しようとしているために起こっ

これは以前に追加された方法ではありません。ビューを表示するときにaddSubviewを使用しなかった場合はremoveFromSuperViewを使用しないでください。

あなたは

viewNotLoggedHome.modalTransitionStyle = UIModalTransitionStylePartialCurlあなたの現在のビューを呼び出して、親にこのコードを追加する必要があります。

あなたは

を押してビューu'reための「部分カール」遷移アニメーションを述べ、それが唯一の

-(IBAction)switchBack 
{ 
[self.navigationController popToRootViewControllerAnimated:YES]; 
} 
で構成されてちょうどスイッチバック機能で、すべてのアニメーションブロックを削除しました。この方法
+0

説明してくれてありがとう。本当に助けになった! :D – nanonano

+0

問題はありませんが、あなたはhttps://developer.apple.com/library/ios/navigation/index.htmlでライブラリを読むべきですか? 、それはたくさんの助けになります:D –

関連する問題