【发布时间】:2014-08-22 23:54:02
【问题描述】:
我有一个最初不是故事板应用程序的应用程序。我已经为一个特性分支添加了一个故事板,上面有一个UITableViewController 的子类。我创建了一个包含多个UILabels 和UIImageViews 的原型单元,并为每个单元添加了标签。原型单元格具有正确的标识符。
我已经用标识符注册了这个类:
[self.tableView registerClass:[UITableViewCell class] forCellReuseIdentifier:@"CustomCell"];
当我尝试将自定义单元格出列并访问其视图时:
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:@"CustomCell" forIndexPath:indexPath];
UIImageView *icon = (UIImageView *)[cell viewWithTag:1];
视图(图标)为零。
我也尝试过对其进行子类化,并使用重用标识符注册子类,并在原型中使用子类名称设置UITableViewCell。在这种情况下,
UIImageView *icon = cell.icon;
仍然返回 nil。
故事板不是主要的有什么关系吗?我有其他项目,其中带有自定义subviews 的原型单元工作正常,没有所有这些麻烦。有没有办法用自定义标识符注册自定义类或UITableViewCell,但指定它来自哪个故事板?
【问题讨论】:
-
如果您在情节提要中使用原型单元格,则无需注册该类。只需确保在原型单元中正确设置自定义类并分配 IBOutlets。
-
您是否尝试过使用
[cell.contentView viewWithTag:1]? -
是的,我用 contentView 也试过了,它也返回 nil。
标签: ios uitableview storyboard