我正在尝试使用翻译动画创建一个弹出式横幅(基本上是一个弹出并隐藏在屏幕上的广泛自定义视图)。这是我到目前为止的代码:
- (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。
答案 0 :(得分:0)
不要为隐藏属性设置动画。而是动画alpha属性,如果你想在完成中设置隐藏。 它目前适用于第一个动画,因为隐藏部分绑定为alpha。