iOS Popup横幅动画无效

时间:2012-10-25 14:34:26

标签: ios animation uiview popup translation

我正在尝试使用翻译动画创建一个弹出式横幅(基本上是一个弹出并隐藏在屏幕上的广泛自定义视图)。这是我到目前为止的代码:

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

可以通过不同的按钮在应用程序中一直触发此弹出窗口。我的问题是弹出动画工作正常,但隐藏动画(相同,但在另一种方式)不起作用。横幅刚刚消失,没有任何动画。

有人对这里发生的事情有任何疑问吗?这对我真的很有帮助。 THX。

1 个答案:

答案 0 :(得分:0)

不要为隐藏属性设置动画。而是动画alpha属性,如果你想在完成中设置隐藏。 它目前适用于第一个动画,因为隐藏部分绑定为alpha。