2

我的自定义UITableViewCell图像出现错误,直到UITableView滚动后才显示。它不会发生在所有单元格上,只有下一个正在打开或最近一个正在关闭(例如,如果您看到底部的一半单元格,您将无法看到图像,直到您将其一直滚动到视图中)

所以我决定也许我需要做得更好,将我UIImages与正确的自定义单元格关联起来。

我创建了一个UIImageView名为“firstImageView”,然后进入我的界面构建器并将其与正确的UIImageView.

然后在里面tableview:cellForRowAtIndexPath:我尝试这样设置

myCustomCell.firstImageView.image = [UIImage imageNamed:@"SMILE.png"];

但是我收到此错误

在“UITableViewCell *”类型的对象上找不到属性“firstImageView”

任何帮助,将不胜感激

4

4 回答 4

1

为了解决您对即将发布的图像的错误,这是我的答案:当您得到UITableViewCell这样的

MyCustomCell *myCustomCell = [self.tableView dequeueReusableCellWithIdentifier:@"myCustomCellIdentifier"];

您可以实现-(void)prepareForReuse覆盖的方法UITableViewCell。否则,也可以在您-(UITableViewCell *)tableView:cellForRowAtIndexPath:的单元格出列后在您的方法中设置自定义内容。

您可以在此处获取更多信息: 如何使用 prepareForUse-MethodApple 文档UITableViewCell

解决未知类属性的另一个问题:你的类型是什么myCustomCell?在界面生成器中,您必须分配正确的类型,并且您myCustomCell还必须是正确的类型。

于 2013-03-05T22:55:47.537 回答
1

这里 122,111 是表格视图单元格中图像视图的框架,将其替换为您的 ``UIGraphicsBeginImageContextWithOptions(itemSize, NO,UIScreen.mainScreen.scale); ˚˚CGSize itemSize = CGSizeMake(122,111);
CGRect imageRect = CGRectMake(0.0, 0.0, itemSize.width, itemSize.height);
[imageView.image drawInRect:imageRect];
imageView.image = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();

于 2017-08-08T11:01:33.170 回答
0

出列单元格时,您是否将其转换为自定义单元格类?

MyCustomCellClass *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
于 2013-03-05T22:55:00.987 回答
0

看起来您创建了一个自定义UITableViewCell子类,但您没有使用您在 IB 中分配的标识符(“重用标识符”)将其出列。

于 2013-03-06T08:46:48.473 回答