自定义UITableViewCell图像直到滚动才显示

时间:2013-03-05 22:46:27

标签: ios uitableview uiimageview

我的自定义UITableViewCell图片出现错误,直到UITableView滚动才会显示。它只会发生在所有单元格中,只有下一个单元格出现或者最近一个单元格出现(对于instane,如果你看到底部的一半单元格,则直到你将它一直滚动到视图中才能看到图像)< / p>

所以我决定,我可能需要更好地将UIImages与正确的自定义单元格相关联。

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

然后在tableview:cellForRowAtIndexPath:内我试着像这样设置

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

但是我收到此错误

  

在'UITableViewCell *'

类型的对象上找不到属性'firstImageView'

任何帮助将不胜感激

4 个答案:

答案 0 :(得分:1)

为了解决即将出现的图片的错误,我的回答是:当你得到UITableViewCell这样的

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

您可以实施覆盖-(void)prepareForReuse的{​​{1}}方法。否则,也可以在将单元格出列后在UITableViewCell方法中设置自定义内容。

您可以在此处获取更多信息: How to use prepareForUse-MethodApple Documentation of UITableViewCell

解决未知类属性的其他问题:您的-(UITableViewCell *)tableView:cellForRowAtIndexPath:是什么类型的?在界面构建器中,您必须分配正确的类型,myCustomCell也必须是正确的类型。

答案 1 :(得分: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();

答案 2 :(得分:0)

当您将单元格出列为自定义单元格类时?

MyCustomCellClass *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];

答案 3 :(得分:0)

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