如何自定义UITableViewCell?

时间:2013-06-26 12:19:38

标签: ios objective-c uitableview

我不知道如何像这样自定义UITableViewCellenter image description here

4 个答案:

答案 0 :(得分:2)

UILabel的每个cell取三个UITableView并根据需要提供 fram 与您的图片相同)

1)第一个标签应该显示

  • court -1
  • 你的时间

2)第二个标签应显示

  • 右上方

3)第三个标签显示

  • 右侧底部

并确保您需要在cell.contentView cellForRowAtIndexPath的{​​{1}}协议方法UITableView下添加所有标签

答案 1 :(得分:0)

您需要在 UITableview cellForRowAtIndexPath 中添加自定义 UIViews ,并根据您的要求进行更改。

答案 2 :(得分:0)

  1. 在UITableViewCell中创建三个标签

  2. 提供标签标签

  3. cellForRowAtIndexPath 中添加标签为

     -(UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
    
    {
    NSString *cellstring =[NSString stringWithFormat:@"%d_%d",indexPath.section,indexPath.row];
    
    UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:cellstring];
    if (cell == nil)
    {
    
    [[NSBundle mainBundle]loadNibNamed:@"TreeSafety_Cell" owner:self options:nil];
        cell=self.tbl_cell;
        self.tbl_cell=nil;
    
        UILable *lab_title=(UILabel *)[cell.contentView viewWithTag:1];
    
    
        cell.selectionStyle=UITableViewCellSelectionStyleNone;
    }
    /*-arr_TreeHazards set data in  textLabel  in tableView-*/
    
        [lab_title setText:[arr_TreeHazards objectAtIndex:indexPath.row]];
    
        lab_title.lineBreakMode=UILineBreakModeWordWrap;
    
        lab_title.numberOfLines=0;
    
    return cell;
    }
    

答案 3 :(得分:0)

UITableViewCell子类。在例如- (id)initWithStyle:(UITableViewCellStyle)style reuseIdentifier:(NSString *)reuseIdentifier您创建了新的UIViews,例如一些标签。你必须设置backgroundcolor(colorWithPatternImage:)。然后,就像使用普通的UITableViewCell一样调用它。我是这样做的:

  • 将tableview作为视图控制器的属性,导入自定义单元格,并在导入下方声明一个静态字符串:static NSString *CellIdentifier = @"CellIdentifier";

  • viewDidLoad:

     if ([self.tableView respondsToSelector:@selector(registerClass:forCellReuseIdentifier:)]){
         [self.tableView registerClass:[CustomCell class] forCellReuseIdentifier:CellIdentifier];
     }
    
  • 这是您的cellForRowAtIndexPath:

    - (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath{
        // Maak cell aan
        CustomCell *cell;
    
        // Bekijk of de nieuwste techniek gebruik kan worden, pak anders een oude techniek
        if ([tableView respondsToSelector:@selector(dequeueReusableCellWithIdentifier:forIndexPath:)]) {
            cell = (CustomCell *)[tableView dequeueReusableCellWithIdentifier:CellIdentifier forIndexPath:indexPath];
        }
        else{
            cell = (CustomCell *)[tableView dequeueReusableCellWithIdentifier:CellIdentifier];
        }
    
        // Do this for < iOS 6
        if (!cell){
            cell = [[CustomCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier];
        }
    
        return cell;
    } 
    
祝你好运。