UICollectionView PerformBatchUpdates 同时插入、删除、移动

2024-05-27

我正在尝试使用UICollectionView's performBatchUpdates方法来执行过滤操作(某种),并且在块内我插入单元格、移动单元格和删除单元格。我得到了一些奇怪的结果,所以我想知道这种行为是否真的受到支持(我认为索引变得一团糟)。我是否只需要将每种“类型”的操作(插入、移动和删除)分成单独的、不同的块?


刚刚找到这个答案,寻找各种操作的排序,并认为我会分享我在与项目插入删除(不移动)相结合时关于部分插入/删除的发现。我正在努力过滤UICollectionView当内容变空时删除单元格/部分,并在清除搜索时重新填充它们。我本质上是用一组数组来支持它的。

我发现在删除我想从数据源中删除的部分之前,我需要使用行和部分索引来计算已删除的项目。 (删除前节)

然后从数据源中删除这些部分并存储这些索引以进行删除。

然后插入任何新的部分/根据需要进行排序/并跟踪所有插入的部分。

最后根据新的节索引计算插入的行。

Deleted Sections: (pre deleted index)
Inserted Sections: (indexes after deleting the deleted sections and adding these back in)
Deleted Rows: (row, pre-deleted section)
Inserted rows: (row, section based on index after inserting new sections)

这是 iOS 9 的情况。

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

UICollectionView PerformBatchUpdates 同时插入、删除、移动 的相关文章

  • 在 iOS 7 Safari 中,如何区分通过边缘滑动与后退/前进按钮的 popstate 事件?

    在 iOS 7 Safari 中 现在有两种后退 前进导航方式 使用底部的传统后退 前进按钮箭头或从屏幕边缘滑动 我正在使用动画在 ajax 应用程序中的页面之间进行转换 但如果用户通过边缘滑动进行导航 我不想触发该转换 因为这本身就是一个
  • PFQueryTableViewController 错误

    我正在遵循在线教程 使用 Parse 作为后端创建照片共享应用程序 我已经运行了两次教程 两次都从头开始创建应用程序 但在同一位置仍然出现相同的错误 我到处寻找解决方案 但仍然没有运气 我正在使用 PFQueryTableViewContr
  • 在 UIScrollview 上显示缩略图的最佳方法是什么(从服务器下载)

    我想在 UIScrollview 如照片应用程序 上显示许多图像 作为缩略图 所有图像将从服务器下载 据我所知 有几种选择 1 通过创建 UIImageviews 然后将它们添加为主滚动视图上的子视图 2 通过子类化一个UIView类 然后
  • 从未调用过交互式委托方法

    我想在 ViewController 1 和 NavigationViewController 2 之间进行交互式转换 NavigationController 通过按钮调用 因此呈现时没有交互转换 它可以通过按钮或 UIPanGestur
  • SwiftUI 意外地自动弹出 NavigationLink

    我有一个简单的用例 其中一个屏幕使用 NavigationLink 推送另一个屏幕 iOS 14 5 有一个奇怪的行为 即推送的屏幕在被推送后立即弹出 Code NavigationLink destination EmptyView Em
  • 有什么方法可以询问方法的名称吗?

    我正在尝试调试我正在开发的 iPhone 应用程序 向各种源文件添加 50 条 NSLog 语句的想法让我感到很兴奋 我想做的是写一对陈述 比如 NSString methodName self methodName NSLog metho
  • ABAddressBookCopyArrayOfAllPeople 中缺少联系人

    我试图从我的应用程序中的地址簿中查找电话号码 但很惊讶没有找到它 问题是 我已经在我的应用程序访问的控制台中打印了地址簿的所有号码 奇怪的是 有些联系人丢失了 我正在将输出与我的地址簿进行比较 虽然数量很少 但仍然如此 这就是我访问地址簿的
  • iPhone X 将对象底部与安全区域对齐会破坏其他设备上的外观

    关于 iPhone X 自动布局怪癖的问题 我有两个按钮 以前这些按钮将与超级视图底部对齐 偏移量为 20 以免它们接触屏幕底部 此后我将链接更改为安全区域而不是超级视图 Here s the original setup Looks go
  • Swift:长按手势识别器 - 检测轻击和长按

    我想连接一个动作 如果手势是点击 它会以特定的方式为对象设置动画 但如果按下持续时间超过 0 5 秒 它会执行其他操作 现在 我刚刚连接了动画 我不知道如何区分长按和点击 如何访问新闻持续时间以实现上述目的 IBAction func ta
  • 未知异常和崩溃

    当我尝试快速滚动表格视图或从远程重新加载数据时 我的应用程序崩溃了 当我先进行远程获取然后滚动表格视图时 一切似乎都工作正常 我不知道下面的崩溃日志意味着什么 它只是有时工作正常 有时崩溃 Incident Identifier 710A1
  • 当应用程序进入前台时,如何重新启动基于块的动画?

    我有以下基于块的动画 UIView animateWithDuration 0 5f delay 0 0f options UIViewAnimationOptionRepeat UIViewAnimationOptionAutorever
  • 根据内容自动更改单元格高度 - Swift

    在 Swift 中使用 UITableView 有人可以帮我根据标签 图片和描述自动更改单元格的高度吗 所有信息都正确传递 我只需要帮助格式化它 我尝试使用调整它cell frame size height 但这没有效果 我可以更改故事板中
  • iOS7 由 Interface Builder 生成的 NSIBPrototypingLayoutConstraint 自动布局约束问题

    以前在 iOS6 中 我的聊天消息视图控制器使用 IB 中精心构建的自动布局约束正确显示和动画 下面是 Xcode 5 中删除了约束的当前视图层次结构 升级到 XCode 5 和 iOS7 后 我发现我需要清除所有旧的约束才能解决默认的半透
  • 无法将项目添加到 NSMutableArray ivar

    我的目标是将字符串添加到数组中 并在我调用的方法中执行此操作 在这个方法中 我在数组中得到一个空值 但不知道为什么 我在课程开始时有这样的内容 NSMutableArray listOfEvents 以及我在每个事件上调用的方法 void
  • 使用输入类型 = 文件捕获照片时移动 safari 崩溃

    我正在使用输入类型文件在 iOS 中启动相机 我正在使用以下代码行
  • 诊断和仪器均缺少“僵尸”选项

    运行 Xcode 4 0 2 Zombie 选项丢失 其他 SO 帖子建议找到它的两个地方 Product gt Run looks like this Product gt Profile looks like this 奇怪的是 我之前
  • 使用日期 Swift 3 对字典数组进行排序

    我有一个名为 myArray 的数组 其中添加了字典 我希望该字典按时间排序 这是字典中的键 那个时间是在 String 中 时间的日期格式为 yyyy MM dd HH mm ss 我尝试使用下面的代码解决方案 但给出了 从 字符串转换
  • 上传存档错误:“缺少 iOS 发行版签名身份......”

    我正在尝试使用 Xcode 将我的 iOS 应用程序存档上传到 iTunes Connect 但是当我单击 上传到 App Store 时 出现错误 Xcode 尝试查找或生成匹配的签名资产并 由于以下问题未能做到这一点 缺少 iOS 为
  • Unwind segue 的用途是什么以及如何使用它们?

    iOS 6 和 Xcode 4 5 有一个称为 Unwind Segue 的新功能 展开转场可以允许过渡到故事板中场景的现有实例 除了 Xcode 4 5 发行说明中的 这个简短条目之外 UIViewController 现在似乎还有几个新
  • 节拍匹配算法

    我最近开始尝试创建一个移动应用程序 iOS Android 它将自动击败比赛 http en wikipedia org wiki Beatmatching http en wikipedia org wiki Beatmatching 两

随机推荐

  • 安装pytorch时出现PackagesNotFoundError: cudatoolkit=11.1.0

    我从以下位置获取安装命令https pytorch org get started locally https pytorch org get started locally 当我运行命令时 conda install pytorch to
  • 嵌入式系统:使用汇编语言时的内存布局

    根据我的理解 嵌入式系统运行机器代码 有多种方法可以生成此代码 一种是用 C 等高级语言编写程序 然后使用编译器获得这样的代码 另一种方法是用汇编语言为该嵌入式系统编写指令 并使用汇编器将其转换为机器代码 现在我们得到了加载到系统并执行的机
  • 使用 or 运算符进行 Morphia 查询

    我想知道如何使用 or 运算符编写 Morphia mongodb 查询我这样写了 mongodb 查询 效果很好 db Inv find or sug id 2 grp id 2 但是当我尝试在吗啡中编写此内容时 我感到很困惑 以下查询是
  • 如何在 Linux/OS X 上温和地终止 Firefox 进程

    我正在使用 Firefox 进行一些自动化操作 尽管我可以从 shell 打开 Firefox 窗口 但我无法正确终止它 如果我kill火狐进程与kill 3 or kill 2当我下次打开新的 Firefox 窗口时 命令会询问我是否要在
  • 在R中,如何平均空间网格正方形上的空间点数据

    现在设法解决问题 我有一组大约 50 000 个点 它们具有坐标和一个与其关联的值 我希望能够将点放入网格中 对落在网格正方形中的所有点的关联值进行平均 所以我想最终得到一个对象来识别每个网格方块并给出网格方块内的平均值 如果有帮助的话 我
  • 如何检查 Android 中是否启用了互联网访问?

    我正在尝试创建一个连接到网络服务器并检索数据的应用程序 我想做一些功能 当我单击我的应用程序时 它首先检查是否启用了互联网访问 如果启用它会启动应用程序 否则打开互联网访问设置 之后它会重定向到我的应用程序 当应用程序连接到网络服务器时 如
  • Selenium 如何按类选择对象

    我有一个带有表单的网页 并且有一个使用 jquery 自动完成功能的字段 这是用户名返回 1 个或多个结果后 HTML 的呈现方式 但是我不知道如何使 Selenium 点击 结果 我可以做一个 jQuery 类型的选择器吗 例如 ul u
  • 使 D3 响应式:viewBox 与 resize()?

    我必须构建在平板电脑 桌面显示器以及某些情况下非常大的 4k 高分辨率影院尺寸显示器上都能正常运行的 d3 可视化效果 因此 我试图找出使用 SVG 的 viewBox 属性和 preserveaspectratio 与调用调整大小函数以在
  • uwsgi协议比http协议快吗?

    我正在尝试部署 django 应用程序的各种设置 我的第一选择是使用带有 mod wsgi 的简单 apache 服务器 我之前已经实现了该服务器供私人使用 由于当前的部署是供公众使用的 因此我正在考虑各种选择 根据网上提供的信息 使用 n
  • 谷歌地图行车方向源代码为他们的例子?

    谷歌举了一个例子http googlemapsapi blogspot com 2007 05 drive directions support added to html http googlemapsapi blogspot com 2
  • (简单)Flex 3 应用程序需要什么版本的 Flash 播放器?

    Flex 3 应用程序需要什么版本的 Flash 播放器 要求似乎是FLEX开发环境中的HTML WRAPPER ACTIONSCRIPT编译器设置 我可以在那里选择什么来最大程度地兼容旧的 Flash 播放器 v8 播放器可以工作吗 Fl
  • 有什么方法可以将自定义差异工具与cleartool/clearcase一起使用?

    我想在使用 Clearcase 快照视图时使用我自己的差异 据我所知 运行时无法指定 diff 工具 cleartool diff 所以我想我可以运行类似的东西 mydiff
  • 无法解析 Landroid/support/v4/app/FragmentActivity 的超类

    我有一个项目使用WelcomeActivity这延伸了FragmentActivity 我使用支持库 所以android support v4 jar在里面libs文件夹 当我运行这个应用程序时 没有任何问题 但是 我想将 ActionBa
  • CORS 击败 AWS LAMBDA :(

    我读了很多关于 CORS Lambda AWS API Gateway 配置的文章 包括 AWS 的设置帮助 http docs aws amazon com apigateway latest developerguide how to
  • 具有多种日期时间表示形式的 CultureInfo

    假设我们有一个 WCF 服务 需要一些时间DateTime对象并使用它 我们有一个以格式发送它的客户端dd mm yyyy 但是这个服务也是从 JS 调用的 它应该发送准确的DateTime 这就是为什么它使用yyyy MM ddTHH m
  • Cocoa webview UserAgent“webkit-legacy”问题

    我解决了这个问题 请看下面所选的答案 我一直在努力寻找导致 OSX Cocoa 应用程序的 WebView 与 Safari 表现不同的原因 事实证明 用户代理是不同的 有点明显 并且我正在访问的网站不知道如何处理它 令人惊讶的是 它是ht
  • 在 python 2.7 中更新 openssl

    想知道是否有人可以解释 openssl 在 python2 7 中如何工作 我不确定 python 是否有自己的 openssl 或者从本地机器 env 中获取它 让我解释 如果我在Python中这样做 gt gt gt import ss
  • 尝试安装 AWS CLI,卡在一个步骤上

    我正在尝试为 mac 命令行安装 aws 我想我不明白我需要做什么 我在终端上安装了带有 wget 的 aws 捆绑包 解压后它完成了所有操作 但是当我需要配置我的凭据时 什么也没有出现把aws配置 以下是说明 http docs aws
  • 使用 UiPath 循环 Excel 文件中的 URL

    我尝试了几种方法 但不知怎的 它们看起来不干净 我有一个 Excel 格式的 URL 文件 一列中有 400 多个 URL 我希望 UiPath 从该文件中读取并一一浏览这些 URL 我尝试让 导航到 从从 Excel 读取的变量中读取 但
  • UICollectionView PerformBatchUpdates 同时插入、删除、移动

    我正在尝试使用UICollectionView s performBatchUpdates方法来执行过滤操作 某种 并且在块内我插入单元格 移动单元格和删除单元格 我得到了一些奇怪的结果 所以我想知道这种行为是否真的受到支持 我认为索引变得