1

我有一个要迁移到 iOS7 的应用程序。在我的应用程序中,我有一个 UITableViewController 的子类,我提供一个 NSDictionaires 数组以填充顺序。本课程在以前版本的 iOS 7 上运行顺利。

但是自从我开始在 XCode 5 中编辑它之后,UITableViewCells 没有显示出来。部分标题是,单元格的“放置”似乎也是正确的。

当我在 NSLog 中输出 cellForRowAtIndex 返回的单元格时,我得到:

2013-09-27 14:53:00.008 MyApp[25278:a0b] Cell for: <UITableViewCell: 0xc5f7ca0; frame = (0 681; 703 40); text = 'Status'; autoresize = W; layer = <CALayer: 0xc5f7e30>>

我已切换到使用 StoryBoard 中的单元格,但这并没有帮助。即使我将 cellForRowAtIndex 更改为:

UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:@"Cell" forIndexPath:indexPath];
cell.textLabel.text = @"Cell";
return cell;

我什么都得不到。我已经删除了 viewWillAppear 和 viewDidLoad 方法中的所有内容。但这没有影响。我还创建了一个新的 TableViewController 子类。并且在使用上述代码时显示单元格没有问题。有谁知道是什么导致我的细胞消失?

4

3 回答 3

0

通过在 nib 或情节提要中创建单元格或在表格初始化代码中使用以下方法之一,确保您已注册单元格:

– registerNib:forCellReuseIdentifier:
– registerClass:forCellReuseIdentifier:
于 2013-09-27T13:46:50.653 回答
0

我发现了我的问题。当你寻求帮助时总是会发生。在我为 tableview 数据源设置对象的方法中,我有以下几行:

    for(UIView *view in self.view.subviews){
        [view removeFromSuperview];
    }

我什至不知道为什么我在里面放了那个,可能是因为我没有出队,一开始我没有这样做,因为单元格数量有限,每个单元格都有不同的风格。我通过在我的故事板中使用多种设计并在出列时使用不同的标识符来涵盖不同的样式。

于 2013-09-27T13:59:53.460 回答
-2

使用这种方法。在您的代码中,如果 tableView deque.. 方法不返回任何单元格怎么办。

UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
    if (cell == nil) {
        cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier];
    }
于 2013-09-27T13:27:27.083 回答