我有一个UITableView与自定义UITableViewCells在它。这些细胞可以用动画打开和关闭。当用户滚动时,我想关闭单元格。我这样做,通过发布这样的通知:滚动时UITableViewCell动画
[[NSNotificationCenter defaultCenter] postNotificationName:@"closeSwipedCell" object:nil];
这将调用哪个做我的简单的动画在我的UITableViewCell子类的方法。这工作正常,但动画不会发生,直到用户停止再次滚动UITableView。 滚动表格视图时可以做这个动画吗?
我知道,例如,如果在单元格中加载了一些图片的UIWebView,然后当表格视图滚动时,即使图片已经加载,图片也不会出现。 – Nekto
你为什么使用通知?你是否试图直接从滚动视图委托(UITableView是一个UIScrollView子类)调用单元格动画方法?考虑通知不是立即发送,而是为下一个运行循环合并,所以可能是在滚动期间没有消息发送,然后这解释了动画的延迟。这只是一个猜测 – viggio24
通知可能不是最优雅的解决方案,但它似乎最简单,因为我必须存储活动单元格并在滚动时调用该单元格以避免使用通知。看起来,通知是在细胞开始动画时马上发送的。打开时,单元格将向右滑动(有点像Tweetie/Twitter),然后在关闭它时会做一些反弹动画。它确实关闭了,但是如果我不进行滚动就调用该方法(例如再次滑动单元格),它会执行小动作。 – simonbs