【问题标题】:Blank prototype cells in Storyboards故事板中的空白原型单元格
【发布时间】:2015-10-02 20:03:38
【问题描述】:

我有一个连接到表视图的表视图控制器。我想在表格视图中有一个自定义单元格类型。自定义单元格应包含三个UILabels 和一个UIImageView

我已经在情节提要的 tableview 中设计了自定义单元格(使用原型单元格)。我创建了UITableViewCell 的子类,并将原型单元格链接到该类。我还将单元格的重用标识符设置为“ItemCell”。

UITableView 我有一个添加按钮。当我按下此按钮时,应将新单元格(自定义单元格)添加到表格视图中。它们是(我可以通过我可以选择它们的事实来判断)除了它们是空白的(尽管标签应该显示一些东西)。标签作为IBOutlet 属性连接到UITableViewCell 子类,并且具有灰色背景,因此我可以看到它的框架,但我看到的只是一个白色行。

怎么了?

这是来自UITableViewControllerviewDidLoad 方法。

- (void)viewDidLoad {
    [super viewDidLoad];
    [self.tableView registerClass:[ItemCell class] forCellReuseIdentifier:@"ItemCell"];
    self.navigationItem.title = @"Home";
    self.navigationItem.rightBarButtonItem = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemAdd
                                                                                           target:self
                                                                                           action:@selector(addNewItem:)];
    self.navigationItem.leftBarButtonItem = self.editButtonItem;
}

这是来自cellForRowAtIndexPath: 方法的代码。

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
    ItemCell *cell = [tableView dequeueReusableCellWithIdentifier:@"ItemCell" forIndexPath:indexPath];

    cell.nameLabel.text = @"hello";

    return cell;
}

【问题讨论】:

  • 如果您在情节提要上创建单元格,则无需自己注册它的类。

标签: ios objective-c uitableview


【解决方案1】:

如果您使用原型单元格,则您在情节提要中指定重用标识符,然后单元格将从那里解包。通过调用此代码:

[self.tableView registerClass:[ItemCell class] forCellReuseIdentifier:@"ItemCell"];

您将删除该注册并将其替换为 ItemCell 类的简单空实例,因此不会有子视图和填充的插座。

删除该行代码进行修复。

【讨论】:

  • 成功了。不敢相信事情就这么简单。谢谢!
  • 注意到了一些奇怪的事情。以前(当我使用普通单元格时)我可以按下其中一个以使用导航控制器向另一个视图控制器显示单元格的详细信息。现在,当我按下自定义单元格时,它会从右侧滑动两个相同的视图控制器。为什么是两个?它以前工作正常。
  • 我猜你可能有一个连接到原型的 segue 并且还实现了委托方法来推送一些东西?
  • 我只有segue。没有推送方法。正如我所说,在我切换到自定义单元之前,它工作正常。
  • 我的错。我确实有segue和push。解决它。现在工作正常。我不明白为什么它以前没有这样做。
猜你喜欢
  • 1970-01-01
  • 2016-01-23
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-09-13
相关资源
最近更新 更多