0

画面の下に隠れている2つのサブビューを含むビューがあります。私が現在設定しているのは、ユーザーがメインビューのボタンをクリックすると、上部の両方のサブビューがアニメーション化されることです。これが発生すると、サブビューの1つだけが表示され、もう1つはその背後に表示されます。

私がやろうとしているのは、両方のサブビューが表示され、ユーザーがサブビューのボタンをクリックすると、もう一方のビューに切り替える必要があるということです。しかし、これを達成しようとしても何も起こりません。TouchUpInside以下は、最初のサブビューのボタン内で使用しているコードのスニペットです。

[UIView beginAnimations:nil context:nil];
[UIView setAnimationDuration:1.0];
[UIView setAnimationTransition:UIViewAnimationTransitionFlipFromLeft forView:self.StatisticsScreen cache:true];
[UIView commitAnimations];

アドバイスをいただければ幸いです。

4

3 に答える 3

1

同様のアプローチにも問題がありました。私がしたことは、反転する必要がある両方のビューを追加し、ボタンが押されたときにUIView(と呼ばれる) をプログラムで作成することでした:panelView

[UIView transitionWithView:self.panelView 
                      duration:0.5f 
                       options:UIViewAnimationOptionTransitionFlipFromRight 
                    animations:^{

                        [self.view1 removeFromSuperview];
                        [self.panelView addSubview:self.view2];

                    } completion:nil];
于 2012-06-13T18:20:26.087 に答える
1

両方のサブビューをスーパービューに追加し、1 つのサブビューを非表示に設定し、次のコード

    if(!isSelected){
         isSelected = YES;

         [UIView transitionWithView:superview
                      duration:1.0f
                       options:UIViewAnimationOptionTransitionFlipFromRight
                    animations:^{

                        [subview1 setHidden:YES];
                        [subview2 setHidden:NO];

                    } completion:nil];
}else{
    isSelected = NO;
    [UIView transitionWithView:superview
                      duration:1.0f
                       options:UIViewAnimationOptionTransitionFlipFromRight
                    animations:^{

                        [subview1 setHidden:NO];
                        [subview2 setHidden:YES];

                    } completion:nil];
}
于 2016-05-30T10:35:46.070 に答える
0

このようにしてみてください:

[UIView beginAnimations:nil context:nil];
[UIView setAnimationDuration:1.0];
[UIView setAnimationTransition:UIViewAnimationTransitionFlipFromLeft forView:self.StatisticsScreen cache:true];

[view addSubview:theViewYouWantToAppear];

[UIView commitAnimations];

もちろん、サブビューは既に追加されているため、呼び出しの効果はaddSubviewサブビューの順序を変更することだけです。

于 2012-06-13T17:59:56.723 に答える