【发布时间】:2014-12-26 00:51:00
【问题描述】:
我目前正在使用自定义 tableviewcell xib,并希望它的大小自动调整为 tableview 的宽度和行的高度。
单元格视图的大小不会自动调整到表格视图。因此,我尝试更改 tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) 委托内的框架,但没有反映任何更改(如果我在实际更改之前和之后打印框架大小。)
有人知道这个的解决方案吗?最好的情况是让单元格的框架自动调整为表格视图的宽度和行高。
编辑:经过进一步检查,问题可能与 iOS8 Size 类有关。当我在 xib 中调整单元格的大小时,它只会扩展到比表格视图的大小更大的宽度。标签应该位于中心(已将它们设置为约束并以编程方式获得相同的结果)。
截图如下:
【问题讨论】:
-
-(CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath -
什么意思,不调整?单元格不是表格视图的全宽吗?
-
@rdelmar 是的,单元格将保持在 xib 中定义的宽度,无论它更大或更小。
-
嗯...当我使用基于 xib 的单元格时,我从未见过这种情况。我刚刚检查了我的一个项目,无论我在 xib 中制作什么大小的单元格,它总是会调整为表格的宽度。我认为您需要提供有关您在 xib 中所做操作的更多信息。
-
@rdelmar 没关系,这是我的错误。在视图控制器中有一个表格视图,我从未设置约束,也没有定义要调整的表格视图,因此它将视图控制器的基本大小保留在情节提要内,这就是为什么标签似乎永远不会居中的原因。感谢您的帮助
标签: ios iphone uitableview swift