2013-07-01 129 views
0

我有一个表格视图,它的每个单元格的宽度都是1024px,所以我的要求是在单击一个单元格后,tableview的宽度将在逻辑上发生变化。而我的表格视图有点复杂。 每个单元格都包含一个在另一个类中定义的自定义视图。请帮助我..如何动态更改Tableview的自定义单元格宽度?

+0

场景1:为什么不重新加载tableview并在运行时应用检查哪个视图为特定单元格分配 – yunas

回答

1

我不相信有一种方法来修改单个单元格的宽度而不改变表格视图的宽度,只有使用tableView:heightForRowAtIndexPath:的高度。

因此,您可能需要更改单元格内自定义视图的宽度。

首先,要获得有问题的单元格,请在需要的任意位置调用cellForRowAtIndexPath:桌面视图(如果要更改水龙头的宽度,那可能会在您的tableView:didSelectRowAtIndexPath:中)。

要访问您的自定义视图,您可以通过在创建单元格或故事板时设置自定义视图的tag属性,为UITableViewCell内部的自定义视图提供标签编号。然后,在UITableViewCell实例上调用viewWithTag:以获取自定义视图,并修改其属性的width

另一种可能更合适的选择是使用定制的UITableViewCell类作为表格视图单元格。这意味着继承UITableViewCell并为您的自定义视图创建属性,这将允许您通过获取方访问自定义子视图,然后更改其属性frame

如果您需要自定义视图的容器的宽度改变(这是目前你的细胞),只需嵌入UIView内的自定义视图和修改的UIView的宽度,而不是UITableViewCell的情况下以同样的方式如上所述。

相关问题