如何查看弹出动画的进度?
Posted
技术标签:
【中文标题】如何查看弹出动画的进度?【英文标题】:How do I see the progress of a pop animation? 【发布时间】:2015-10-20 22:16:15 【问题描述】:我有一个主视图控制器和一个详细视图控制器。我有一个按钮,当前在 push segue 到细节后消失,并在调用 pop segue 时重新出现,无论是交互式手势还是后退按钮。
这看起来真的很突然,我想用弹出手势淡入按钮上的 alpha,但我没有看到 UINavigationControllerDelegate 的任何委托或数据源方法显示弹出手势的进度。有没有可以帮助解决这个问题的库?
【问题讨论】:
【参考方案1】:这可以通过 UIView 动画来完成。
想法是将按钮的 alpha 设置为 0,使其不可见,然后将其设置为值 1 以创建淡入效果。
self.myButton.alpha = 0;
[[UIView animateWithDuration:0.3 delay:0 options:UIViewAnimationOptionCurveEaseIn animations:^
self.myButton.alpha = 1;
completion:^(BOOL finished)
// Code for completion of animation.
];
这可以放在视图控制器的viewDidAppear:
方法中。
【讨论】:
如果只允许后退按钮弹出就可以了。但是因为 uinavigationcontroller 允许交互式平移手势,所以我需要一种在过渡期间动态更改 alpha 的方法,而不是在过渡完成时。 @GeorgeUrick 如果将动画移动到viewWillAppear:
,它将在涉及返回的交互式平移手势的过渡期间发生。以上是关于如何查看弹出动画的进度?的主要内容,如果未能解决你的问题,请参考以下文章