• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

ios - 在实例化单元格之前调用 UICollectionView 委托(delegate)方法?

[复制链接]
菜鸟教程小白 发表于 2022-12-12 19:51:32 | 显示全部楼层 |阅读模式 打印 上一主题 下一主题

我正在实现一个 UICollectionView,它通过 Parse 从在线获取数据。我正在将图像加载到 Collection View 中。我遇到的问题是 Collection View 的委托(delegate)方法之一在重新加载单元格之前被调用。

我有一个方法可以将背景中的对象加载到 NSArray 中。一旦他们都完成了,我重新加载我的收藏 View 。从那里我的委托(delegate)方法在 collectionView:cellForItemAtIndexPath 之前被调用。我的委托(delegate)方法处理每个单独单元格的大小,以便它们可以根据照片的大小进行更改。

这是一个问题,因为单元格中需要包含图像才能让我看到它们对于委托(delegate)方法的大小。

我的委托(delegate)方法如下所示:

- (CGSize)collectionViewUICollectionView *)collectionView layoutNHBalancedFlowLayout *)collectionViewLayout preferredSizeForItemAtIndexPathNSIndexPath *)indexPath
{   
    CustomCollectionViewCell *currentCell = (CustomCollectionViewCell *)[collectionView cellForItemAtIndexPath:indexPath];

    if (currentCell) {
        return [currentCell.cellImage.image size];
    }
    return [cellImage size];
}

就像我说的,这个委托(delegate)方法在 collectionView:cellForItemAtIndexPath 之前被调用。这导致局部变量“currentCell”返回零。我该怎么做才能正确设置它,以便在加载所有单元格后调用委托(delegate)?



Best Answer-推荐答案


我在 Parse TableView 中可能也遇到了同样的情况。关于解析集合和表格 View 如何设置它们的尺寸,您是绝对正确的。上传图片的时候保存图片的宽高可以解决这个问题。这样,您可以在 PFFile 图像完成下载之前获取图像的尺寸(这通常发生在设置 Collection View 之后)。

- (CGFloat)tableViewUITableView *)tableView heightForRowAtIndexPathNSIndexPath *)indexPath {

    MyParseImage *image = [self.objects objectAtIndex:indexPath.row];
    CGFloat imageHeight = [[image objectForKey:height] floatValue];
    CGFloat imageWidth = [[image objectForKey:width] floatValue];
    CGFloat ratio = self.view.frame.size.width / imageWidth;

    return imageHeight * ratio;
}

关于ios - 在实例化单元格之前调用 UICollectionView 委托(delegate)方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22160903/

回复

使用道具 举报

懒得打字嘛,点击右侧快捷回复 【右侧内容,后台自定义】
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关注0

粉丝2

帖子830918

发布主题
阅读排行 更多
广告位

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap