扩展TableViewCell空白

时间:2013-09-17 10:54:15

标签: ios uitableview

我正在尝试自定义UITableViewCell,但出于某种原因它显示为空白。有什么明显的东西我做错了吗?我已将故事板中的menuLabel作为插座拉出来,因此它绑定正确,故事板中的单元格链接到“MenuCell”类。

在我的tableview控制器中

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
static NSString *CellIdentifier = @"MenuCell";
[self.tableView registerClass:[MenuCell class] forCellReuseIdentifier:CellIdentifier];
MenuCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];

if(cell == nil) {
    NSLog(@"creating a new cell");
    cell = [[MenuCell alloc] initWithStyle:UITableViewCellStyleDefault
                              reuseIdentifier:@"MenuCell"];
}

cell.menuLabel.text = @"Hello";


return cell;
}

2 个答案:

答案 0 :(得分:2)

您可以使用此

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

            MenuCell *cell = (MenuCell *)[tableView dequeueReusableCellWithIdentifier:CellIdentifier];
            if (cell == nil)
            {
                UINib* customCellNib = [UINib nibWithNibName:@"MenuCell" bundle:nil];

                // Register this nib file with cell identifier.

                [tableView registerNib: customCellNib forCellReuseIdentifier:CellIdentifier];
                cell = (MenuCell*) [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
            }
    // Whatever you want 
retrun cell;
    }

希望这会有所帮助。快乐的编码:P

答案 1 :(得分:1)

使用这个....

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath { 
    static NSString *cellIdentifier = @"MenuCell";
        MenuCell *cell = [tableView dequeueReusableCellWithIdentifier:cellIdentifier];

        if (cell == nil)
        {
            cell = [[MenuCell alloc]initWithStyle:UITableViewCellStyleDefault reuseIdentifier:cellIdentifier];
            cell = (MenuCell *)[[[NSBundle mainBundle] loadNibNamed:@"MenuCell" owner:self options:nil] objectAtIndex:0];

        }
        cell.menuLabel.text = @"Hello";
        return cell;
    }

我希望它会有所帮助。