2009-07-10 16 views
0

私は、メインビューのサイズの約3/4であるメインビューの上にあるサブビューを構築しようとしています。ボタンを押すと、サブビューは別のサブビューに移動します。私は近いですが、2つの問題があります。メインビューの上のサブビューを反転する

最初の問題は、最初にフリップボタンを押すと、2番目のサブビューがフルスクリーンで開始され、描画されているフリッピングアニメーションではなく、指定されたフレームサイズに縮小されることです。

2番目のビューがレンダリングされたら、最初のビューと2番目のビューの間を反転することができます(2番目のボタンを追加してテスト目的で戻します)。

私の2番目の問題は、ビューが反転するときに、新しいビューが反転の前に読み込まれ、反転が発生することです。私はそれが正常に動作する前にフリップするビューを構築しましたが、画面全体がビューであったときだけです。ここで

は私のメインビューコントローラである私のコードです:

- (void)viewDidLoad { 

    Page1Controller *myPage1=[[Page1Controller alloc] initWithNibName:@"Page1Controller" bundle:nil]; 
    Page2Controller *myPage2=[[Page2Controller alloc] initWithNibName:@"Page2Controller" bundle:nil]; 
    self.page1 = myPage1; 
    self.page2 = myPage2; 
    [myPage1 release]; 
    [myPage2 release]; 
    [[page1 view] setFrame:CGRectMake(45, 40, 230, 280)]; 
    [[self view] addSubview:[page1 view]]; 

    [super viewDidLoad]; 
} 

そして、ここでは二つのボタンのコードです:

- (void)flipPressed:(id)sender { 
    [UIView beginAnimations:@"View Flip" context:nil]; 
    [UIView setAnimationDuration:1.5]; 
    [UIView setAnimationTransition:UIViewAnimationTransitionFlipFromLeft forView:[page2 view] cache:YES]; 
    [page1.view removeFromSuperview]; 
    [[page2 view] setFrame:CGRectMake(45, 40, 230, 280)]; 
    [[self view] addSubview:[page2 view]]; 

    [UIView commitAnimations]; 

} 

- (void)backFlipPressed:(id)sender { 
    [UIView beginAnimations:@"View Flip" context:nil]; 
    [UIView setAnimationDuration:1.5]; 
    [UIView setAnimationTransition:UIViewAnimationTransitionFlipFromRight forView:[page1 view] cache:YES]; 
    [page2.view removeFromSuperview]; 
    [[self view] addSubview:[page1 view]]; 
    [[page1 view] setFrame:CGRectMake(45, 40, 230, 280)]; 

    [UIView commitAnimations]; 
} 

私の問題のいずれか上の任意のヘルプは大歓迎です!

答えて

0

最初の問題:ビューのフレームをbeginAnimationsの前に設定してください。

+0

ありがとうございました - 2番目のサブビューをフルスクリーンで開始して縮小する問題を修正しました。ビューは最初のボタンクリックでは反転しません。後続のボタンクリックでのみ表示されます。 –

関連する問題