0

我有用笔尖创建的自定义单元格。在表格视图中,我正在使用-(float)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath设置单元格高度的方法一切正常。但问题是我还想更改作为子视图添加到单元格笔尖中的 UIlabel 的大小。我怎么做?在 customcell 类中覆盖哪个方法?

4

3 回答 3

1

您正在寻找的方法是:

-(void)layoutSubviews
{
   [super layoutSubview];
   //Do your magic 
}

layoutSubviews 在单元格创建后以及设备方向发生变化时调用,以允许您调整子视图的大小和/或移动子视图(以及进行任何其他小的调整)以补偿方向之间的差异,但在这种情况下,您也可以使用它重绘您的子视图。

于 2013-04-04T08:14:24.437 回答
0

由于您在自定义单元格类中有 UILabel,因此在该类中创建一个函数,该函数将您想要设置为参数的框架作为参数。在该功能中设置标签框架。在返回单元格之前,您需要从 cellForRowAtIndexPath 方法调用此函数。

如果您要重用自定义单元格,则应仅在 (cell == nil) 时调用方法。此外,如果您可以在问题中添加一些有用的代码,并且可以获得更准确的答案。

于 2013-04-04T08:07:16.780 回答
0

您需要以与使用 xib 处理普通视图或视图控制器类相同的方式处理自定义单元格。即,您需要为自定义单元格中的控件创建 IBOutlets,并且在创建单元格期间,您可以很容易地访问控件。

myCell.myCustomUILabel.text = @"blah"

在 xib 中使用自定义单元格并连接 IBOutlets 时存在一些问题。这个SO answer (of mine) 解释了如何创建和链接自定义单元格的 IBOutlets。

于 2013-04-04T08:12:45.067 回答