viewDidAppear为的UITableViewCell(viewDidAppear for U

2019-07-29 14:38发布

我通常使用viewDidAppear方法来做的观点一些UI的东西后,完成的显现和我用这个方法在各种情况下均是非常有用的,但是,我需要做对了一些UI变化UITableViewCell后成品出现,有没有在做类似的工作,如SDK任何可用的方法viewDidAppearUITableViewCell

PS willDisplayCell并没有我的情况下工作,我需要像didDisplayCell如果它确实存在。

Answer 1:

UITableViewDelegate具有以下功能:

func tableView(_ tableView: UITableView, willDisplay cell: UITableViewCell, forRowAt indexPath: IndexPath)

func tableView(_ tableView: UITableView, didEndDisplaying cell: UITableViewCell, forRowAt indexPath: IndexPath)

细胞本身不具备这个回调。



Answer 2:

如果你需要应对改变细胞的框架和布局调整,你需要实现-layoutSubviews在细胞类。 记住调用[super layoutSubviews]



Answer 3:

该方法viewDidLoad涉及的UIViewController和它的子类,所以我们不能在UITableViewCell中,这是一个UIView子类使用。 我在我的应用程序中的一个所用的溶液是重写layoutSubViews的UITableViewCell的方法,以及我延迟,如下一段时间的动作。

- (void)layoutSubViews
{
     [super layoutSubviews];

     [self performSelector:@selector(myMethod) withObject:nil afterDelay:1.0];
}


文章来源: viewDidAppear for UITableViewCell