我需要运行依赖于表视图的代码以及所有正在加载的单元格。代码需要在单元格上运行,但是在它们完全初始化之后,而不是在cellForRowAtIndexPath中(它们需要已经绘制,因为我使用自动布局并且需要在它之后运行此代码)
我怎么知道他们什么时候被装上?
编辑 - 我觉得有些混乱
基本上每次添加单元格时,cellForRowAtIndexPath都会创建此单元格。它尚未呈现。在此方法之后,将呈现单元格。渲染后,我想运行一些代码
答案 0 :(得分:0)
这是有效的。这在每个单元格被绘制后运行
override func viewDidLayoutSubviews() {
for i in 0...3{
let cell = table.cellForRowAtIndexPath(NSIndexPath(forRow: i, inSection: 0))
//do what i needed
}
}
修改
添加单元格后不会运行此选项,仅适用于加载原始表时存在的单元格。更好的方法是将相同的方法放在UITableViewCell类中。这样它在每个单元格渲染后运行:
override func viewDidLayoutSubviews() {
let cell = self
//do what i needed
}
答案 1 :(得分:0)
<canvas id="canvas" width="600" height="600" style="border:solid black 1px;">
Your browser does not support canvas element.
</canvas>
<br>
<button onclick="startup()">Initialize</button>
<br>
Log: <pre id="log" style="border: 1px solid #ccc;"></pre>
答案 2 :(得分:-1)
在您的情况下使用此方法UITableView Delegate:
func tableView(tableView: UITableView, willDisplayCell cell: UITableViewCell, forRowAtIndexPath indexPath: NSIndexPath){
//Your required code will be here.
}
此方法将在呈现单元格并且您正在查看它时调用。