这是正常的,你不能窝在一个XIB文件表视图内的表视图单元格。使用xib文件定制单元格的一种可能方法是创建UITableViewCell
的子类并将其设置为xib文件中的自定义单元的文件所有者(为单元格创建xib文件)。然后,您将能够在自定义单元中的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;
}
您只能在UITableViewController中使用Prototype单元格。 – danypata 2013-05-10 19:26:11