有没有办法动态扩展/收缩 UITableViewCells?
我想要一个自定义 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 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
创建 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.
我不久前也在这样做。要调整大小,您需要让
UITableView
再次调用heightForRowAtIndexPath
。它将导致单元格的重绘。 使用为了做到这一点而 。如果您将动画设置为
YES
,它将很好地为单元格的扩展提供动画效果。另外,要调整单元格,UITableViewCell
子类中的setSelected:
可能会有所帮助。I was doing it not so long ago. To adjust the size you need to make
UITableView
callheightForRowAtIndexPath
again. It will cause redrawing of cell. Usein order to do that. If you set animation to
YES
it will nicely animate expanding of your cell. Also to adjust cell,setSelected:
in yourUITableViewCell
subclass may be helpfull.