我有一个 UITableViewCell,它目前很混乱,并且一次在屏幕上显示了太多信息。我想做一个按钮,当按下时,一个小视图将向下滑动并显示剩余信息,然后再次按下时它将滑回原始大小。我想知道我如何去做这样的事情。我对这样做一无所知,所以在向我指出某个方向时请具体说明。谢谢!
3 回答
您是否想要表格视图中所有单元格的单个按钮,或者您想在每个单元格上添加按钮作为子视图
1.如果你想在每个单元格上添加按钮作为子视图
a) 添加标签值等于的按钮,indexPath.row
并将目标设置为每个按钮的单一方法。
前任
-(void)infoButonTapped:(UIButton *)sender;
现在单击按钮找到按钮的标记值并从用于填充UITableViewCell
s 的数组中获取信息。
b) 现在创建一个 infoview 并在其上添加 textview 并将 info 设置为 text view 的 text prop 并使用UIView
Animation 添加 infoview 作为 view 的子视图并在下次单击时隐藏
您可以在 .h 文件中使用布尔变量来了解隐藏或显示 infoView,或者您可以检查 infoview 是否具有超级视图,然后您必须隐藏 infoview 否则将 infoview 添加为 self.view 的子视图。
- 如果您想要所有 Cell 的通用按钮
a) 现在单击按钮获取indexPath
使用 tableview 方法的 tableview 的选定单元格
- (NSIndexPath *)indexPathForSelectedRow;
此方法要么返回所选单元格的索引路径,要么返回 nil,以防未选择单元格
使用 indexpath 从数组中获取信息,并将 infoview 添加为子视图以使用上述步骤 1.b 进行查看。
您还可以通过 tableview 的方法获取所选行的矩形,用于设置信息视图的坐标
- (CGRect)rectForRowAtIndexPath:(NSIndexPath *)indexPath;
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
这可能会帮助您显示隐藏表格
或者您可以使用 BOOL 作为单元格的属性并根据 bool 隐藏 UITableViewCell 的子视图也调整单元格的框架。