私は、メインビューのサイズの約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];
}
私の問題のいずれか上の任意のヘルプは大歓迎です!
ありがとうございました - 2番目のサブビューをフルスクリーンで開始して縮小する問題を修正しました。ビューは最初のボタンクリックでは反転しません。後続のボタンクリックでのみ表示されます。 –