0

翻訳アニメーションを使用してポップアップバナー(基本的には、画面上でポップアップおよび非表示になるワイドカスタムビュー)を作成しようとしています。これが私がこれまでに持っているコードです:

- (void)popAddProductBanner {
    [self.view bringSubviewToFront:[self.view.subviews objectAtIndex:3]];
    [_addProductBanner setHidden:YES];
    UIView *bannerView = [[[NSBundle mainBundle] loadNibNamed:@"HouraAddProductBannerView" owner:self options:nil] objectAtIndex:0];
    [_addProductBanner addSubview:bannerView];
    [UIView transitionWithView:_addProductBanner duration:0.5 options:UIViewAnimationOptionCurveEaseIn animations: ^{
        [_addProductBanner setHidden:NO];
        [_addProductBanner setTransform:CGAffineTransformMakeTranslation(0.0, -44.0)];
    } completion:^(BOOL finished) {
        [NSTimer scheduledTimerWithTimeInterval:3.0
                                         target:self
                                       selector:@selector(dismissAddProductBanner)
                                       userInfo:nil
                                        repeats:NO];
    }];
}

-(void)dismissAddProductBanner {
    [UIView transitionWithView:_addProductBanner duration:0.5 options:UIViewAnimationOptionCurveEaseIn animations: ^{
        [_addProductBanner setTransform:CGAffineTransformMakeTranslation(0.0, 44.0)];
        [_addProductBanner setHidden:YES];
    } completion:nil];
}

このポップアップは、さまざまなボタンを介してアプリケーション全体でトリガーできます。私の問題は、ポップアニメーションは問題なく機能しますが、非表示アニメーション(同じですが、他の方法では)が機能しないことです。バナーはアニメーションなしで消えます。

誰かがここで何が起こっているのかについて何か手がかりを持っていますか?それは私にとって本当に役に立ちます。どうも。

4

1 に答える 1

0

非表示のプロパティをアニメーション化しないでください。代わりに、alphaプロパティをアニメーション化し、必要に応じて、補完で非表示を設定します。hiddenは部分的にアルファにバインドされているため、現在最初のアニメーションで機能します。

于 2012-10-25T14:43:42.313 に答える