【问题标题】:Delay UITableView from hiding UITableViewCells延迟 UITableView 隐藏 UITableViewCells
【发布时间】:2013-04-16 15:48:17
【问题描述】:

我的问题是我有一个 UIContainerView,它有一个 UITableView 的子视图。 当用户按下按钮时,此 UIContainerView 通过为其帧大小设置动画来切换打开/关闭。 我遇到的问题是,因为帧大小是立即设置的,并且动画会随着时间的推移而发生,所以在动画完成之前,TableView 单元格会“出列”并消失。我猜是因为 tableView 认为它不再显示。

有没有办法延迟这个,直到动画完成。也许在 +(void)animateWithDuration 的完成部分:...

【问题讨论】:

  • 我猜表格视图也在动画期间调整大小?尝试将表格视图设置为在容器调整大小时不调整大小,并确保容器视图不允许在边界之外绘制 (-clipsToBounds)。
  • 可能是这样,我认为它可以使用支柱和弹簧调整大小。

标签: ios xcode uitableview uiviewanimation


【解决方案1】:
[UIView animateWithDuration:(NSTimeInterval) animations:^{
        //Animation code
    } completion:^(BOOL finished) {
        //after animation completion
    }]

我认为您可以使用它。不管你在动画之后做什么,你都可以写在完成块中。

【讨论】:

    【解决方案2】:

    一个快速而肮脏的解决方案是在框架底部添加一个不透明的 UIView,并向上设置动画以产生折叠效果。在 animateWithDuration 方法的完成块中,您可以更改容器视图的框架。

    如果不知道您想要达到的视觉效果,很难给出真正好的答案。更合适的方法是删除表格视图单元格以提供动画效果,但它可能看起来并不完全正确......

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2012-02-22
      • 1970-01-01
      • 2013-05-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多