【发布时间】:2012-11-22 21:41:34
【问题描述】:
当我点击一个UITableView 单元格时,我需要展开它(动画也一样)。但是我不知道被点击的单元格,我在这里看到了答案:Can you animate a height change on a UITableViewCell when selected?
这似乎是一个非常受欢迎的答案,不仅仅是在问题中。但是,我需要获取单元格,那么heightForRowAtIndexPath方法中如何获取单元格呢?
因为我已经尝试过了:
UITableViewCell *cell = [tableView cellForRowAtIndexPath:indexPath];
但是,在 heightForRowAtIndexPath 方法中使用它会使应用程序在第一次运行时(当视图加载时)崩溃,我认为它会陷入无限循环。
无论如何,如果我采用这种方法,你会建议我如何解决这个问题?我需要访问该单元格。或者您将如何扩展您的 tableview 单元格(动画)?
【问题讨论】:
-
您能否使用自定义的
UITableViewCell子类来覆盖setSelected:animated:和setHighlighted:animated:来执行动画,而不是在高度计算方法中触发或执行它们?据我所知,只有在点击单元格时才会调用带有 highlight=YES 的setHighlighted:animated:,因此如果您覆盖它并且不调用super实现,它可能是执行您的 on- 的有用钩子点击动画。
标签: iphone objective-c ipad uitableview