2009-08-31 9 views
0

こんにちはすべて私はフリップアニメーションを表示するためにこのコードを使用しています......私はscrollview(ページングが有効になっている)でuiviewを持っています...ページのようなビューを表示するように...今私はフリップアニメーションこのコードを使用して....すべてのタイプのサブビューをuiscrollviewから削除しますか?

-(void)flipView 
{ 
    flashCardAnswerController *flashCardAnswerControllerobj = [[flashCardAnswerController alloc] initWithNibName:@"FlashCardAnswerView" bundle:[NSBundle mainBundle]]; 
[flashCardAnswerControllerobj.view setFrame:[[self view] frame]]; 
[UIView beginAnimations:nil context:nil]; 
[UIView setAnimationDuration:0.60];// Sub. duration 
UIView *superview; 
    if ((superview = [[self view] superview])) { 
    [UIView setAnimationTransition:UIViewAnimationTransitionFlipFromLeft forView:superview cache:YES]; 
    [superview addSubview:[flashCardAnswerControllerobj view]]; 
} 
[UIView commitAnimations]; 
} 

ので、新しいビューはまた、バックフリップしながら、新しいビューを解放するために管理scrollview..iに追加されるコードに応じて...しかし、私は直接戻るボタンを押した場合ナビゲーションコントローラ上に...反転表示は解除されません。私は私のscrolleviewのクラスのdeallocメソッドでこれを試してみましたが、それは

for(UIView *subview in [scrollView subviews]) { 
     [subview removeFromSuperview]; 
} 

どのように私は約...ビューは数が非常に多くあるフリップサイドのビューを削除するには動作しません。 48 plus flip side viewsので、デバイス上でメモリの問題が発生します...

また、誰かが、スクールクラスのオブジェクトを作成せずに、NavigationBarの戻るボタンを無効にする方法を教えてもらえますか?

答えて

1

私はあなたの質問に直接答えはありませんが、これは古いiPhone OS 2.xの表示フリップサイドの方法だとわかります。

iPhone OS 3.0では、代わりにpresentModalViewController:animated:を使用してください。これははるかに少ないコードであり、あなたの質問に記述したすべての問題はなくなります。

考えられるのは、現在のビューのフリップサイドは、モーダルで表示される別のUIViewControllerによって管理されているということです。しかし、2.0からのスライドアニメーションに加えて、新しいView Controllerに水平フリップでアニメーションを出すこともできます。

self.modalTransitionStyle = UIModalTransitionStyleFlipHorizontal; 
[self presentModalViewController:flipSideController 
         animated:YES]; 
+0

はい私はフリップ側の見解... –

+0

あなたは本当に、本当に慎重に自分自身を尋ねるべきを解放するためにどのように私os.tell 2.xのを持っています。 iPhone OS 3.0のインストールに気を使うことができないユーザーは、自分のアプリをインストールするのに気をつけますか? 答えが「はい」の場合は、フリップサイドのサブビューをスーパービューに追加して、ビュー階層を上に移動します。おそらくUIWindowインスタンスの子ビューとして追加できます。ナビゲーションバーはもはやそこになく、戻るボタンは問題ありません。ユーザーが次のページに移動する前に、ページを元に戻すように要求することは問題ではありません。「天気」を参照してください。 また、deallocメソッドでサブビューを解放する必要はありません。UIViewのデフォルトの実装は、すでにそれを行います。 – PeyloW

+0

ウィンドウ内での追加がうまくいかない...私が見つけ出す方法はありませんか?ScrollViewには、FlipSideクラスのサブビューがあります。 –

0
[[scrollView subviews] makeObjectsPerformSelector:@selector(removeFromSuperview)] 
関連する問題