【发布时间】:2017-10-24 08:25:34
【问题描述】:
我想为自定义 TableViewCell 的子视图制作动画。要执行此动画,单元格需要此子视图的宽度,该子视图由自动布局约束布局。
但是,当我在 cellForRowAtIndex 函数 (mycell.animate()) 中使用动画函数时,宽度为 0,因为子视图尚未布局,动画将不起作用。
在常规视图中,我会使用viewDidLayoutSubviews(),因为这样视图被布局,我可以获得宽度并执行动画。但是,自定义 UITableViewCell 的等效函数是什么?
我尝试了TableView的willDisplay委托功能,但是当我打印出单元格子视图的宽度时,它仍然显示0...
【问题讨论】:
-
您可能必须创建 UITableViewCell 的子类,然后从那里开始。
-
嗯,我确实有,如果不清楚,对不起
-
我知道这可能比这更深,但是,您是否尝试将宽度分配给
cellForRow:at:中的表格单元格?cell.frame.size.width = tableView.frame.size.width -
layoutSubviews在单元格子类中可能会起作用。 -
哈哈谢谢@lu2302,它真的很管用!没想到这么容易:)
标签: swift animation uikit tableview