不能在 xib 文件的表视图中嵌套表视图单元格是正常的。使用 xib 文件自定义单元格的一种可能方法是创建一个子类UITableViewCell
并将其设置为 xib 文件中自定义单元格的文件所有者(为单元格创建一个 xib 文件)。然后,您将能够在自定义单元格和自定义UITableViewCell
子类中的 UI 元素之间创建插座。
在下面的示例中,我将使用MyCustomCell
作为包含单元格的 xib 文件的名称,以及从UITableViewCell
.
要将单元格注册到表格视图中,请将其放入您的UITableViewController
子类中:
- (void)viewDidLoad
{
[super viewDidLoad];
UINib *cellNib = [UINib nibWithNibName:@"MyCustomCell" bundle:nil];
[self.tableView registerNib:cellNib forCellReuseIdentifier:@"MyCustomIdentifier"];
...
}
最后,在您的tableView:cellForRowAtIndexPath:
方法中,您可以使用其标识符将自定义单元格出列,并使用您之前创建的插座设置其视觉属性:
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
MyCustomCell *cell = [tableView dequeueReusableCellWithIdentifier:@"MyCustomIdentifier"];
// Configure cell using its outlets
return cell;
}