objective-c - 显示 UITableViewCell,然后可以展开以显示更多数据

标签 objective-c ios animation uitableview

我有一个 UITableViewCell,它目前很杂乱,并且一次在屏幕上显示了太多信息。我想制作一个按钮,当按下时,一个小 View 会向下滑动并显示剩余信息,然后当再次按下时它会滑回原来的大小。我想知道我是如何着手做这样的事情的。我对此一无所知,所以请在向我指出某个方向时具体说明。谢谢!

最佳答案

你想在表格 View 中为所有单元格设置一个按钮,还是想在每个单元格上添加按钮作为 subview

1.如果你想在每个单元格上添加按钮作为 subview

a) 添加标签值等于 indexPath.row 的按钮,并将每个按钮的目标设置为单一方法。

 -(void)infoButonTapped:(UIButton *)sender;

现在点击按钮找到按钮的标签值,并从您用来填充 UITableViewCell 的数组中获取信息。

b) 现在创建一个信息 View 并在其上添加 TextView 并将信息设置为 TextView 的文本属性并使用 UIView 动画将信息 View 添加为 View 的 subview 并在下次单击时隐藏

您可以在 .h 文件中使用 bool 变量来知道隐藏或显示 infoView,或者您可以检查 infoview 是否有 superview,然后您必须隐藏 infoview,否则将 infoview 添加为 self.view 的 subview 。

  1. 如果你想要所有 Cell 的通用按钮

a) 现在点击按钮获取 indexPath 使用 tableview 方法选择的 tableview 单元格

- (NSIndexPath *)indexPathForSelectedRow;

此方法要么返回所选单元格的索引路径,要么在未选择单元格的情况下返回 nil

使用 indexpath 从数组中获取信息,并使用上面解释的步骤 1.b 添加 infoview 作为 subview 进行查看。

您还可以获取所选行的矩形以设置信息 View 的坐标 通过tableview的方式

- (CGRect)rectForRowAtIndexPath:(NSIndexPath *)indexPath;

关于objective-c - 显示 UITableViewCell,然后可以展开以显示更多数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13577760/

相关文章:

ios - Restkit - 删除具有相同 URL 路径的孤立对象

ios - 无法理解 swift 中的继承行为?

ios - 当我已经在主线程中时分派(dispatch)到主队列

ios - 按下 SFSafariViewController 时出现黑色标签栏

android - 如何动画 fragment 移除

jquery - 无限调用动画时间不适用于 "all"元素

objective-c - SKPhysicsBody bodyWithPolygonFromPath 内存泄漏

ios - 获取 randomFloat 失败

ios - 即使我不动也会得到不同的位置

ios - Appcelerator - 获取地理位置信息并转化为 URL