在TableView上重新加载数据并执行LayoutIfNeeded断开布局的UIView动画

时间:2016-10-27 18:50:39

标签: ios uitableview uiview swift3 uiviewanimation

我有ViewController tableView和隐藏UIView

当用户点击我想要的按钮时:

  1. 重新加载表格
  2. 使用动画Autolayout
  3. 显示隐藏视图

    基本上代码是:

            self.tableView.reloadData()
            bottomContsraint.update(offset: 50)
    
            UIView.animate(withDuration: 0.6,
                           delay: 0.0,
                           usingSpringWithDamping: 0.9,
                           initialSpringVelocity: 0.4,
                           options: .curveEaseInOut,
                           animations: {
                            self.view.layoutIfNeeded()
            }) { }
    

    问题是,当hiden视图显示时,我的单元格也会生成动画,我想这是因为self.view.layoutIfNeeded()

    我们可以在tableview单元格上调用layoutIfNeeded()self.tableView.reloadData()而不使用有线动画吗?

1 个答案:

答案 0 :(得分:0)

layoutIfNeeded级联到所有视图子视图。因此,self.view.layoutIfNeeded()告诉你viewController中的所有内容都要重新布局。只需在隐藏视图上调用layoutIfNeed