我的问题是我有一个UIContainerView,它有一个UITableView的子视图。 当用户按下按钮时,通过设置其帧大小的动画来打开/关闭此UIContainerView。 我遇到的问题是,因为帧大小立即设置并且动画随时间发生,所以在动画完成之前,TableView单元格会“出列”并消失。我猜是因为tableView认为它不再显示了。
无论如何都要延迟这个,直到动画完成。也许在+(void)animateWithDuration的完成部分:...
答案 0 :(得分:2)
快速而肮脏的解决方案是在框架底部添加不透明的UIView,并向上设置动画以产生折叠效果。在animateWithDuration方法的完成块中,您可以更改容器视图的框架。
如果不了解您想要达到的视觉效果,很难给出一个非常好的答案。更合适的方法是删除表格视图单元格以提供动画效果,但它可能看起来不正确......
答案 1 :(得分:0)
[UIView animateWithDuration:(NSTimeInterval) animations:^{
//Animation code
} completion:^(BOOL finished) {
//after animation completion
}]
我认为您可以使用此功能。无论你在动画之后做什么,你都可以在完成块中写下它。