在UITableview中自定义单个单元格

时间:2014-08-28 11:14:03

标签: ios objective-c uitableview

我想更改cell(masterViewController)中第一个UITableView的格式,以便image延伸到整个width cell cell 1}}和文本标签显示在图像上方。还想仅为此UITableViews添加第二个文本标签吗?

关于如何做到这一点的任何帮助都会很棒,我看起来没有成功解决这个特殊问题而且我对{{1}}还不熟悉。

2 个答案:

答案 0 :(得分:1)

根据您的要求制作一个自定义单元格,并为所有其他单元格加载indexpath.row== 0和简单UITableViewCell。希望它会帮助你

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
static NSString *simpleTableIdentifier = @"CustomCell";

CustomCell *customcell = (CustomCell *)[tableView dequeueReusableCellWithIdentifier:simpleTableIdentifier];

static NSString * identifier = @"Cell";
UITableViewCell * cell = [tableView dequeueReusableCellWithIdentifier:identifier];


if(indexPath.row == k)
{
    if(customcell == nil)
    {
        NSArray *nib = [[NSBundle mainBundle] loadNibNamed:@"CustomCell" owner:self options:nil];
        scrlcell = [nib objectAtIndex:0];
    }
}
else{
   if(cell == nil){
        cell = [[UITableViewCell alloc]initWithStyle:UITableViewCellStyleDefault reuseIdentifier:identifier];
}
}

if(indexPath.row == k)
    return customcell;
else
    return cell;
}

答案 1 :(得分:0)

您应该构建一个自定义单元格(您可以在“界面”构建器中构建它),然后在indexPath.row == 0上使用它。像这样:

static NSString *CellIdentifier = @"CellIdentifier";
CustomCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
if(!cell)
{
    NSArray *topLevel = [[NSBundle mainBundle] loadNibNamed:@"CustomCell" owner:nil options:nil];
    for (id currentObject in topLevel){
        if ([currentObject isKindOfClass:[CustomCell class]])
        {
            cell = currentObject;
            break;
        }
    }
}

if(indexPath.row == 0){
    // Use your cell here
}else{
   // Build a new cell
}

return cell;