有没有办法动态扩展/收缩 UITableViewCells?

发布于 2024-11-01 04:26:22 字数 101 浏览 1 评论 0原文

我想要一个自定义 UITableViewCell,在未选择时显示有限的数据,但在选择时展开以显示更多详细信息。

我遇到的问题是如何在选择/取消选择事件期间调整单元格的大小?

I would like to have a custom UITableViewCell that displays limited data while unselected, but then expand to show more details when selected.

The issue I have is how do I adjust the size of the cell during a select/deselect event?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

长发绾君心 2024-11-08 04:26:22

创建 UITableViewCell 的子类,并重写 drawRect() 方法。
在视图控制器的 didSelectRowAtIndexPath 中,您可以在收缩状态和展开状态之间切换。您可以更改帧大小、添加或删除子视图、添加更多数据,无论您需要做什么。

Make a sub-class of UITableViewCell, and override the drawRect() method.
In your view controller's didSelectRowAtIndexPath, you can switch between the contracted and expanded states. You can change frame sizes, add or remove sub-views, add more data, whatever you need to do.

想念有你 2024-11-08 04:26:22

我不久前也在这样做。要调整大小,您需要让 UITableView 再次调用 heightForRowAtIndexPath。它将导致单元格的重绘。 使用

- (void)reloadRowsAtIndexPaths:(NSArray *)indexPaths withRowAnimation:(UITableViewRowAnimation)animation 

为了做到这一点而 。如果您将动画设置为YES,它将很好地为单元格的扩展提供动画效果。另外,要调整单元格,UITableViewCell 子类中的 setSelected: 可能会有所帮助。

I was doing it not so long ago. To adjust the size you need to make UITableView call heightForRowAtIndexPath again. It will cause redrawing of cell. Use

- (void)reloadRowsAtIndexPaths:(NSArray *)indexPaths withRowAnimation:(UITableViewRowAnimation)animation 

in order to do that. If you set animation to YES it will nicely animate expanding of your cell. Also to adjust cell, setSelected: in your UITableViewCell subclass may be helpfull.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文