Swift - UICollectionView 重复(重复)单元格

2024-05-22

你好,我有一个数组,其中包含从 flickr 获取的 100 张图片 url。当我使用 UICollectionView 时,我显示 100 个单元格,屏幕上只有 8 个单元格,当我向下滚动查看下一个 8 个单元格时,它们与前一个单元格相同,并且当我执行时

func collectionView(collectionView: UICollectionView!, cellForItemAtIndexPath indexPath: NSIndexPath!) -> UICollectionViewCell!

和 println("something") 它在控制台中只写入 8 次,但数组的内容是 100

我用这个:

func collectionView(collectionView: UICollectionView?, numberOfItemsInSection section: Int) -> Int {
    return self.photosUrls.count
}

它制作了 100 个单元,但单元总是重复...有人知道如何在新版本的 XCode GM 种子中击败 Swift 吗?

func collectionView(collectionView: UICollectionView!, cellForItemAtIndexPath indexPath: NSIndexPath!) -> UICollectionViewCell! {
    let cell: ImageCell = collectionView.dequeueReusableCellWithReuseIdentifier("Cell", forIndexPath: indexPath) as ImageCell
    let imgUrl = photosUrls[indexPath!.row]
    let api_url = NSURL.URLWithString(imgUrl)
    let URLReq = NSURLRequest(URL: api_url)
    let NSOpQ:NSOperationQueue = NSOperationQueue()
    NSURLConnection.sendAsynchronousRequest(URLReq, queue: NSOpQ, completionHandler:{ (response: NSURLResponse!, data: NSData!, error: NSError!) -> Void in
        if(error == nil){
            cell.theWPImage!.image = UIImage(data: data)
        }
        })
    return cell
}

我认为你不明白如何UITableView and UICollectionView委托方法有效。

iOS不会同时加载100个cell,因为这样会非常慢并且用户体验不好。那么,方法cellForItemAtIndexPath or cellForRowAtIndexPath仅当单元格出现在屏幕上时才被调用。

每当你向下滚动时,你都会看到该方法cellForItemAtIndexPath再次被调用以生成新的单元格。如果你输入代码println(indexPath.row)里面cellForItemAtIndexPath,当您向上或向下滚动时,您实际上会看到重复打印单元格编号。

如果向下滚动后看到相同的单元格,可能是由于您的代码所致cellForItemAtIndexPath。除非您粘贴上面的完整源代码,否则我无法帮助您。或者这可能是一个错误UICollectionViewXCode GM 种子。

在 XCode 6 Beta 7 中尝试相同的项目并报告如何?我在 XCode GM 中也遇到了 UICollectionView 的问题。 IT与约束有关。看:iOS 8 GM 不会更新集合视图的约束 https://stackoverflow.com/questions/25753373/ios-8-gm-does-not-update-constraints-on-collection-views因此,我现在使用 XCode 6 Beta 7。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Swift - UICollectionView 重复(重复)单元格 的相关文章

随机推荐

  • SWT GridLayout 列重叠

    Code final Composite sectionClient toolkit createComposite parent SWT NONE sectionClient setLayout UIHelper getLayoutFor
  • FFMPEG:使用具有复杂滤波器的视频滤波器

    我正在使用fluent ffmpeg用于对视频文件执行批量操作的 Node js 库 视频过滤器裁剪 16 9 输入 添加填充并将字幕刻录到填充中 在下一步中 我想使用复杂的滤镜来覆盖图像作为水印 ff input video mp4 ff
  • 网格 xamarin 形式中的重叠框架

    我正在使用最新的 xamarin 表单 我有一个要求 我需要在网格中的两行之间放置一个框架 我无法使其与绝对布局或弹性布局一起使用 下面是我对网格的简化尝试
  • 更新我的模型然后重新评估 IsValid?

    我将一些值传递给我的控制器操作 一切都绑定得很好 根据设计 表单 POST 中会缺少两个属性 然后我设置了缺失的值 但随后我想验证模型 但它仍然显示为 false 因为 ModelState 似乎没有跟上我的更改 HttpPost Auth
  • 为什么此类方法中的“this”未定义?

    我试图搜索似乎整个互联网 但我仍然对我为微服务编写的 JS 类的问题感到烦恼 仍在学习中 因此 我尝试在实例化对象上调用类方法 根据我的知识和我的 我认为是错误的 单元测试 它应该可以工作 好吧 我将从我收到的错误开始 GET api us
  • Huggingface 长文档摘要

    我预计摘要任务通常会假设长文档 但是 以下文档here https huggingface co course chapter1 3 fw pt 我所做的任何简单摘要调用都表示我的文档太长 gt gt gt summarizer pipel
  • WPF 如何从 DataGrid 转换为 DataTable?

    嗨 我正在关注这个guide http www wpf tutorial com datagrid control details row 以了解如何使用 DataGrid 我遇到的问题是如何将 DataGrid 中的数据转换为 DataT
  • 如何在 Unity 中对齐“轨道”或模块化对象?

    我正在开发一个简单的游戏 用户可以在其中放置不同但模块化的对象 例如 轨道 道路等 我的问题是 当将一个物体靠近另一个物体时 如何匹配和放置不同的物体 我的第一种方法是为每个模块对象创建一个隐藏的子对象 一个盒子 并将其放在可以放置其他对象
  • 将 TypeScript 项目与 Webpack 捆绑时,Node.js 提示“ReferenceError: require is not Define”

    我有一个简单的test ts我想使用 webpack 捆绑的文件 该文件包含一些代码和以下导入 没有任何错误 import from interval Observable of pipe Subject timer BehaviorSub
  • 对 numpy 数组中存在的元组中的列进行切片

    我已将一个文本文件导入到 numpy 数组中 如下所示 data np genfromtxt f dtype None delimiter names None 其中 f 包含我的 csv 文件的路径 现在数据包含以下内容 array 53
  • 安装 libjpeg v8 到 /opt/local

    如何在 OSX 上将 libjpeg 8 安装到 opt local 我问的原因是我想用以下方法制作大脑活动的小电影MNE C 库 http www nmr mgh harvard edu martinos userInfo data MN
  • 使用 PyArg_ParseTuple 解析用户定义类型

    如何使用解析用户定义的类型 或现有非标准库中的类型 PyArg ParseTuple 而不是使用普通的O格式 正如 Martijn 建议的那样 我通常更喜欢使用 它允许您传递一个函数 该函数将被调用以转换任何PyObject 到任意 C 双
  • 测试后 NUnit 回滚

    我对 NUnit 以及一般的自动化测试 还很陌生 我最近做了一些 Ruby On Rails 工作 并注意到在我的测试套件中 当我创建对象 例如新用户 并在套件过程中提交它们时 它们永远不会提交到数据库 以便我可以运行一遍又一遍地测试 不用
  • asp.net datalist 选择每个类别的所有复选框

    我有一个页面 用户可以在数据列表控件中选择不同的文档文件 使用预渲染事件处理程序根据类别对文档进行分类 文档是根据复选框控件 而不是复选框列表 选择的 到目前为止 一切都很好 接下来我想要发生的事情是在每个类别名称旁边放置一个 全选 复选框
  • Java异常处理——捕获超类异常

    我有一个关于处理网络应用程序异常的问题 我经常听说捕获超类 Exception 是一个坏主意 我经常编写代码来捕获 struts action java servlet 类中的所有异常 try call business facade bu
  • Angular核心模块的作用是什么?

    我读了一篇article https medium com michelestieven organizing angular applications f0510761d65a关于在 Angular 中组织文件夹 作者使用了一个名为cor
  • 在 php 标头中使用 x-auth-token 发送请求

    如何将 x auth token 参数发送到带有 YII 标头的服务器 我有这个代码 data array customerId gt userId getdata http build query data options array h
  • 关于Braintree支付网关与Java的集成

    我是支付网关集成的新手 我需要集成Braintree Payment Gateway与 JSF 应用程序 有人可以向我展示 java 类的基本示例和示例支付页面吗 我看到一些客户端Token如何生成它 我编写了一个示例类和页面 如下所示 但
  • 使用 XSL 1.0 有条件地包装内容

    我正在寻找一种用 xsl 包装内容的方法 这是我正在做的事情的简化示例 Lot s of content 是大量内容 锚标记仅用作示例 它可以是一个 div 或其他任何东西 XML
  • Swift - UICollectionView 重复(重复)单元格

    你好 我有一个数组 其中包含从 flickr 获取的 100 张图片 url 当我使用 UICollectionView 时 我显示 100 个单元格 屏幕上只有 8 个单元格 当我向下滚动查看下一个 8 个单元格时 它们与前一个单元格相同