ViewWillAppear在UITableViewCell上?

Big*_*air 7 uitableview viewwillappear swift

有没有办法在UITableViewCell上执行类似ViewWillAppear的操作?

UITableViewDelegate方法(如willDisplayCell)仅在通过滚动显示单元格时起作用.

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

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

Vvk*_*Vvk 8

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

-(void)awakeFromNib{

}
Run Code Online (Sandbox Code Playgroud)

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

 tableView.reloadData()
Run Code Online (Sandbox Code Playgroud)

希望它能帮到你.

  • 只有当UIViewController中的第一个单元格加载时才调用@Bigair awakeFromNib (2认同)

小智 6

我不确定这是否对您有用,因为您也想在制表符更改上做一些事情,否则它将起作用。

我知道我回答得太迟了,但是我正在回答是要帮助其他查看此帖子的人。

因此,您可以尝试这样做:(Objective-C)

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

(迅速)

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