我有一个UITableViewCell,它目前很混乱,并且屏幕上有太多信息。我想制作一个按钮,当按下时,一个小视图将向下滑动并显示剩余信息,然后再次按下它将滑回原始大小。我想知道我是怎么做这样的事情的。我知道没有这样做,所以请指出我在某个方向时具体。谢谢!
答案 0 :(得分:1)
您是否希望单个按钮用于表格视图中的所有单元格,或者您希望在每个单元格上添加按钮作为子视图
1.如果您想在每个单元格上添加按钮作为子视图
a)添加标签值等于indexPath.row
的按钮,并将每个按钮的目标设置为单一方法。
离
-(void)infoButonTapped:(UIButton *)sender;
现在点击按钮找到按钮的标记值,并从用于填充UITableViewCell
s的数组中获取信息。
b)现在创建一个infoview并在其上添加textview并将信息设置为文本视图的文本支柱,并使用UIView
动画添加infoview作为视图的子视图,并在下一次单击时隐藏
你可以在.h文件中使用bool变量来知道隐藏或显示infoView,或者你可以检查infoview是否有superview然后你必须隐藏infoview否则添加infoview作为self.view的子视图。
a)现在点击按钮获取indexPath
使用tableview方法选择tableview的单元格
- (NSIndexPath *)indexPathForSelectedRow;
此方法要么返回所选单元格的索引路径,要么在没有选择单元格的情况下返回nil
使用indexpath获取数组中的信息,并使用上面介绍的步骤1.b将infoview添加为子视图进行查看。
您还可以获取所选行的矩形,以便为信息视图设置坐标 通过tableview方法
- (CGRect)rectForRowAtIndexPath:(NSIndexPath *)indexPath;
答案 1 :(得分:0)
在这种情况下,您最好使用以下方法: -
(void)reloadRowsAtIndexPaths:(NSArray *)indexPaths withRowAnimation:(UITableViewRowAnimation)animation{
}
在UITableView
didselectRowAtIndexPath
方法中调用上述方法。
以下链接提供了更多解释
答案 2 :(得分:0)
这可能会对您有所帮助Show hide table
或者你可以使用BOOL作为单元格的属性,并根据bool隐藏UITableViewCell的子视图,也可以调整单元格的框架。