当子类化UITableView时如何自定义单元格准备

时间:2014-08-22 15:04:53

标签: ios objective-c uitableview

我想在我的UITableView子类中自定义一个单元格。但我无法弄清楚有没有办法在没有定义自己dataSource的情况下做到这一点,因为它显然会覆盖外部dataSource

所以基本上我想成为UITableView dataSource而不重写此属性。

我已经想出了一些肮脏的解决方法。我正在重新加载-setDataSource:方法以保留UITableView dataSource本身并将传入的数据源保存到内部变量中以将请求传递给它。

2 个答案:

答案 0 :(得分:1)

您只需覆盖cellForRowAtIndexPath:并在那里进行细胞修改。数据源将像往常一样填充单元格。

- (UITableViewCell *)cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
    //Calling super will let the datasource methods be called
    UITableViewCell * cell = [super cellForRowAtIndexPath:indexPath];

    //Do whatever to the cell here
    return cell;
}

答案 1 :(得分:0)

您可以通过以下两种方式之一自定义单元格:代码或界面构建器。 tableview数据源是您要显示的DATA,它与该数据的表示无关。

您想对桌面视图自定义什么?更改字体,字体颜色和背景颜色很容易。如果要添加其他ui元素,如图像,更多标签,那么最快的方法是使用Interface Builder。