在查看确实出现之前,表视图单元的子视图的帧更改不会发生

时间:2015-05-29 07:34:11

标签: ios uitableview swift frame viewdidappear

我希望在使用以下代码在UITableViewCell中设置cellForRowAtIndexPath子视图时更改cellSubView.center = CGPointZero 子视图:

viewDidAppear

打印出框架的坐标显示框架已成功更新,但视图仍显示在界面构建器中给出的位置。

使用以下代码覆盖override func viewDidAppear(animated: Bool) { super.viewDidAppear(animated) self.tableView.reloadData() } 函数可以解决此问题:

phonegap

但是这会导致闪烁:当我改变其中一个单元格时,表格视图已经出现了。子视图的位置。

如何在视图出现之前更改框架?

1 个答案:

答案 0 :(得分:1)

如果您使用autoLayout检查它是否自动创建约束。 如果是,那么您可以改变这些约束的常量。 如果您没有使用autoLayout,请调用layoutIfNeeded并查看是否更改了任何内容。 我的赌注是在autoLayout上自动创建约束。