2012-11-22 100 views
1

我点击它时也需要展开一个UITableView单元格(同样也是动画)。但是我不知道被窃听的细胞,我在这里看到了答案:Can you animate a height change on a UITableViewCell when selected?扩展UITableViewCell点击?

这似乎是一个非常受欢迎的答案,不仅仅是在问题中。但是,我需要获得细胞,那么如何在heightForRowAtIndexPath方法中获得细胞?

因为我已经试过这样:

UITableViewCell *cell = [tableView cellForRowAtIndexPath:indexPath]; 

然而在heightForRowAtIndexPath方法使用这个崩溃的应用程序,因为它得到一个无限循环,我认为抓住了它第一次运行时(视图负载时)。

反正如果我是采取这种方法,你会如何建议我解决此问题得到什么?我需要访问单元格。或者你会怎样扩展你的tableview单元格(动画)?

任何帮助总是赞赏,感谢。

+0

您可以使用自定义'具有用于覆盖UITableViewCell'子'的setSelected:动画:'和'setHighlighted:动画:'执行的动画,而不是触发或唤起注意计算方法内执行呢?就我所知,'setHighlighted:animated:'带有highlight = YES只在单元格被轻敲时被调用,所以如果你重写它并且不调用'super'实现,它可能是一个有用的钩子您的点播动画。 – warrenm

回答

0

进行调节高度的你。

我建议试图得到尽可能多的,你可以从他们已经在过去的工作很适合我在自动口罩。

如果您需要更细粒度的控件,您可以创建子类并覆盖setFrame:方法以找出帧何时正在改变大小,然后在那里适当地设置动画。