0

メイン ビューの約 3/4 のサイズのメイン ビューの上にサブビューを作成しようとしています。ボタンが押されると、サブビューは別のサブビューにフリップする必要があります。私は近くにいますが、2つの問題があります。

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

2 番目のビューがレンダリングされたら、最初のビューと 2 番目のビューを切り替えることができます (テスト目的で、元に戻すための 2 番目のボタンを追加しました)。

私の 2 番目の問題は、ビューが反転すると、反転の前に新しいビューが読み込まれ、その後反転が発生することです。それが正しく機能する前に、反転ビューを作成しましたが、画面全体がビューである場合のみです。

メインのView Controllerにあるコードは次のとおりです。

- (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];
}

2 つのボタンのコードは次のとおりです。

- (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];
}

私の問題のいずれかに関するヘルプは大歓迎です!

4

1 に答える 1

0

最初の問題: の前にビューのフレームを設定しますbeginAnimations

于 2009-07-10T17:04:33.537 に答える