开发者

Several Custom UITableViewCells in one NIB - how to refer to in code?

I'm creating custom UITableViewCells using the approach outlined on this page:

http://icodeblog.com/2009/05/24/custom-uitableviewcell-using-interface-builder/

So my cellForRowAtIndexPath code looks a bit like this:

static NSString *CellIdentifier = @"CustomCell";
TableCellWithLogo *cell = (TableCellWithLogo *)[tableView dequeueReusableCellWithIdentifier:CellIdentifier];
if (cell == nil) {
    NSArray *nibObjects = [[NSBundle mainBundle] loadNibNamed:@"TableCells" owner:nil options:nil];
    for (id currentObject in nibObjects)
    {   
        if ([currentObject isKindOfClass:[TableCellWithLogo class]] )
        {
            cell = (TableCellWithLogo *)currentObject;
        }
    }
}
cell.customTextLabel.text = [tableArray objectAtIndex:indexPath.row];
return cell;

Now, the table I'm creating looks like a stylized version of the grouped tableview style, with drop-shadows etc. So it needs four possible styles of table (top, center, bottom .. and top+bottom for when only a single cell is showing).

I'm having trouble working out how to put all of these table cells into one nib, and then refer to them. At the moment I have a nib with a UITableViewCell whose class is 'TableCellWithLogo'. This class has all the relevant IBOutlets. If I put several UITableViewCells in the nib (all of TableCellWithLogo class), how would I be able to differentiate between them in code? You can see in the example above I'm finding out the class:

if ([currentObject isKindOfClass:[TableCellWithLogo class]] )

..but all the classes would b开发者_C百科e the same, so I'm not sure how to differentiate?


Create one empty nib and add table view cells to it. Also, for each of them create a corresponding class and assign the relevant class for each of them (see the screenshot).

Several Custom UITableViewCells in one NIB - how to refer to in code?

Then, in the cellForRowAtIndexPath you'll need to create different cells based on indexPath.row

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜