ViewWillAppear 在 UITableViewCell 上?

ViewWillAppear on UITableViewCell?

有什么方法可以在 UITableViewCell 上执行类似 ViewWillAppear 的操作吗?

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

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

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

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

-(void)awakeFromNib{

}

如果可见单元格未加载,则您必须重新加载表格视图。

 tableView.reloadData()

希望对你有帮助。

我不确定这是否适合你,因为你也想在选项卡更改时做一些事情,否则它会起作用。

我知道我回答得太晚了,但我回答是为了帮助其他看到这个的人post。

所以你可以试试这个: (Objective-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
}