【问题标题】:UITableViewCell not appearing in iOS 7UITableViewCell 未出现在 iOS 7 中
【发布时间】:2013-09-27 13:10:47
【问题描述】:

我有一个要迁移到 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 子类。并且在使用上述代码时显示单元格没有问题。 有谁知道是什么导致我的细胞消失?

【问题讨论】:

  • 您的标识符实际上只是“单元格”吗?您应该在 Storyboard 中给它一个唯一的名称,而不是在这里设置它
  • 需要更多代码来说明,您可能会以某种方式丢失数据。也许是一次流浪重装。

标签: ios uitableview ios7


【解决方案1】:

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

– registerNib:forCellReuseIdentifier: – registerClass:forCellReuseIdentifier:

【讨论】:

    【解决方案2】:

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

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

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

    【讨论】:

    • 那是什么意思?如果你的意思是我总是使用 XCode 的 IDE。
    • stackoverflow.com/questions/27355545/… 我有类似的问题,但如果我删除这部分,我的单元格将无法正确更新。 (除了我的是 cell.view.subviews)
    【解决方案3】:

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

    UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
        if (cell == nil) {
            cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier];
        }
    

    【讨论】:

    • 这是“旧”方法。如果您在带有表格或情节提要的笔尖中创建单元格,则不再需要手动“初始化”。另请参阅我的帖子以了解当前正确的执行方式(即注册单元格)。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-02-20
    • 2016-03-09
    • 2015-01-14
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多