1

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

4

3 回答 3

1

您是否想要表格视图中所有单元格的单个按钮,或者您想在每个单元格上添加按钮作为子视图

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

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

前任

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

现在单击按钮找到按钮的标记值并从用于填充UITableViewCells 的数组中获取信息。

b) 现在创建一个 infoview 并在其上添加 textview 并将 info 设置为 text view 的 text prop 并使用UIViewAnimation 添加 infoview 作为 view 的子视图并在下次单击时隐藏

您可以在 .h 文件中使用布尔变量来了解隐藏或显示 infoView,或者您可以检查 infoview 是否具有超级视图,然后您必须隐藏 infoview 否则将 infoview 添加为 self.view 的子视图。

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

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

- (NSIndexPath *)indexPathForSelectedRow;

此方法要么返回所选单元格的索引路径,要么返回 nil,以防未选择单元格

使用 indexpath 从数组中获取信息,并将 infoview 添加为子视图以使用上述步骤 1.b 进行查看。

您还可以通过 tableview 的方法获取所选行的矩形,用于设置信息视图的坐标

- (CGRect)rectForRowAtIndexPath:(NSIndexPath *)indexPath;
于 2012-11-27T06:03:30.690 回答
0

In this case, you better use the following method: -

(void)reloadRowsAtIndexPaths:(NSArray *)indexPaths withRowAnimation:(UITableViewRowAnimation)animation{
}

Make a call to above method in your UITableView didselectRowAtIndexPath method.

More explanation is given in below link

UITableViewCell expand and collapse

于 2012-11-27T05:45:03.940 回答
0

这可能会帮助您显示隐藏表格

或者您可以使用 BOOL 作为单元格的属性并根据 bool 隐藏 UITableViewCell 的子视图也调整单元格的框架。

于 2012-11-27T07:01:32.653 回答