ViewWillAppear在UITableViewCell上?

时间:2016-02-09 04:48:17

标签: swift uitableview viewwillappear

有没有办法在UITableViewCell上执行像ViewWillAppear这样的东西?

UITableViewDelegate方法(如willDisplayCell)仅在通过滚动显示单元格时有效。

在我的情况下,我需要在用户移动到另一个Tab并返回UITableView的情况下检测单元格外观。

我能够使用indexPathsForVisibleRows方法解决我的问题,但这似乎不是一种聪明的方法。

2 个答案:

答案 0 :(得分:7)

是。你必须在m文件中使用awakeFromNib meyhod。这个方法总是先调用。

-(void)awakeFromNib{

}

如果可见单元格未加载,则必须重新加载tableview。

 tableView.reloadData()

希望它对你有所帮助。

答案 1 :(得分:4)

我不确定这是否适合你,因为你想在标签更改上做一些事情,否则它会起作用。

我知道我回答得太晚了,但我正在回答帮助其他人看这篇帖子。

所以你可以试试这个: (目标-C)

- (void)tableView:(UITableView *)tableView willDisplayCell:(UITableViewCell *)cell  
                                         forRowAtIndexPath:(NSIndexPath *)indexPath {
    // Do what ever you want
}

(SWIFT)

func tableView(tableView: UITableView, willDisplayCell cell: UITableViewCell, forRowAtIndexPath indexPath: NSIndexPath) {
    // Do what ever you want
}