如何在uitableview加载单元格

时间:2016-08-30 11:06:08

标签: ios swift uitableview

我需要运行依赖于表视图的代码以及所有正在加载的单元格。代码需要在单元格上运行,但是在它们完全初始化之后,而不是在cellForRowAtIndexPath中(它们需要已经绘制,因为我使用自动布局并且需要在它之后运行此代码)

我怎么知道他们什么时候被装上?

编辑 - 我觉得有些混乱

基本上每次添加单元格时,cellForRowAtIndexPath都会创建此单元格。它尚未呈现。在此方法之后,将呈现单元格。渲染后,我想运行一些代码

3 个答案:

答案 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. 

}

此方法将在呈现单元格并且您正在查看它时调用。