0

我正在开发一个应用程序,它使用 UITableViews 和自定义的、编程的 UI 更改。例如,我有一些编程 UITableViewCell 更改:

...
cell.backgroundColor = [UIColor clearColor];
cell.textLabel.font = [UIFont fontWithName:@"Georgia" size:14];
cell.selectedBackgroundView = anImageView;
...

和这样的 UITableView 设置:

self.table.separatorColor = [UIColor darkGrayColor];

我如何将 UITableView 和 UITableViewCell 的子类创建到每当我创建新表时,它将继承这些属性?我在每个表中都有所有这些属性(大约有 3-4 个),并且希望减少不必要的代码混乱。

4

2 回答 2

1

我会做两个子类:

您自己的表格视图子类(您可以在 initWithFrame:style: 方法中对表格视图进行更改)和您自己的表格视图单元格子类(您可以在 initWithStyle:reuseIdentifier: 方法中进行更改)。

您可能还想覆盖表视图的 dataSource 属性,并创建自己的协议,强制该-(UITableViewCell *)tableView:(UITableView *)table cellForRowAtIndexPath:(NSIndexPath *)path方法返回您的 UITableViewCell 子类而不是标准类。

于 2012-04-16T21:34:53.040 回答
1

UITableViewCell 将是最容易重用的,因为它们(应该)始终是一个单独的类(如果适用,还有 nib),但是,重用 Table View 本身需要一个子类。这有点多,考虑到在每个类的基础上制作 UITableView 是多么容易,但如果你觉得你必须这样做,你可以。请注意,UITableView 类在涉及子类时非常挑剔。

于 2012-04-16T21:35:03.207 回答