原型单元格不会显示内容

时间:2014-08-05 12:51:33

标签: uitableview ios7 custom-cell

我在storyboard中设计了一个单元格,然后创建了一个自定义的UITableViewCell子类(BasicCell)并将其分配给它。还要设置正确的标识符。我在该课程中创建了自定义单元格的出口。然后在我的UITableViewController子类中(我有两种类型的原型单元格),单元格内容将不会显示。我做错了什么?

BasicCell.h

@interface BasicCell : UITableViewCell

@property (strong, nonatomic) IBOutlet UILabel *scorevalue;

@property (strong, nonatomic) IBOutlet UILabel *avgvalue;

@property (strong, nonatomic) IBOutlet UILabel *rankvalue;

@property (strong, nonatomic) IBOutlet UILabel *scorelabel;
@property (strong, nonatomic) IBOutlet UILabel *categorylabel;

@property (strong, nonatomic) IBOutlet UILabel *ranklabel;

@end

TableViewController.m

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
     static NSString *CellIdentifierBasic = @"basic";
     static NSString *CellIdentifierDetailed = @"detailed";

    UITableViewCell *cell;

    if(indexPath.row==0){
        // Create first cell

        cell = [[BasicCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifierBasic];


    }

    else{

        // Create all others

        cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifierDetailed forIndexPath:indexPath];
    }


    // Configure the cell...

    switch ([indexPath row])
    {
        case 0:
        {

            BasicCell *basicCell = (BasicCell *)cell;

            basicCell.scorelabel.text = @"test";
            basicCell.categorylabel.text = @"test";
            basicCell.ranklabel.text = @"test";

            basicCell.scorevalue.text = @"test";
            basicCell.avgvalue.text = @"test";
            basicCell.rankvalue.text = @"test";



        }
    }

1 个答案:

答案 0 :(得分:1)

在你的故事板中,

  1. 创建两个原型单元格。
  2. 更改原型单元的一个自定义类。设置BasicCell
  3. 确保为每种类型的单元格设置适当的单元格标识符。
  4. 如果 indexPath.row == 0 使用适当的标识符出列,请分配init
  5. 它应该工作。

    注意:您应该声明您的IBOutlets不够强大。 Cell的视图已经强烈指向它们。你不必拥有它们。