我有一个表格视图,其每个单元格的宽度都说1024px,所以我的要求是在单击一个单元格后,视图的宽度会在逻辑上发生变化。我的表视图有点复杂。 每个单元格都包含一个在另一个类中定义的自定义视图。请帮帮我..
答案 0 :(得分:1)
我不相信有一种方法可以修改单个单元格的宽度而不改变表格视图的宽度,只使用tableView:heightForRowAtIndexPath:
来改变高度。
因此,您可能希望更改单元格内自定义视图的宽度。
首先,要获取有问题的单元格,请在表格视图中的任意位置调用cellForRowAtIndexPath:
(如果您想要更改宽度,可能会在tableView:didSelectRowAtIndexPath:
中)。< / p>
要访问自定义视图,您可以通过在创建单元格或故事板中设置自定义视图的tag
属性,为自定义视图提供UITableViewCell内的标记号。然后,在UITableViewCell实例上调用viewWithTag:
以获取自定义视图,并修改其width
属性的frame
。
另一个可能更合适的选择是为表格视图单元格使用自定义UITableViewCell
类。这意味着继承UITableViewCell
并为自定义视图创建属性,这将允许您通过getter访问自定义子视图,然后更改其frame
属性。
如果您需要更改自定义视图的容器的宽度(当前是您的单元格),只需将自定义视图嵌入UIView
并修改UIView的宽度而不是UITableViewCell
的实例与上述相同。