UICollectionView在xcode16编译闪退问题

使用xcode15运行工程,控制台会出现如下提示:

Expected dequeued view to be returned to the collection view in preparation for display. When the collection view's data source is asked to provide a view for a given index path, ensure that a single view is dequeued and returned to the collection view. Avoid dequeuing views without a request from the collection view. For retrieving an existing view in the collection view, use -[UICollectionView cellForItemAtIndexPath:] or -[UICollectionView supplementaryViewForElementKind:atIndexPath:]. Dequeued view: <IQEngUICollectionViewCell: 0x130215e00; baseClass = UICollectionViewCell; frame = (396 0; 396 98.1547); clipsToBounds = YES; backgroundColor = UIExtendedGrayColorSpace 0 0; layer = <CALayer: 0x301e371a0>>; Collection view: <UICollectionView: 0x1300caa00; frame = (0 0; 396 98.1547); clipsToBounds = YES; gestureRecognizers = <NSArray: 0x300b706f0>; backgroundColor = <UIDynamicSystemColor: 0x3002a3380; name = systemBackgroundColor>; layer = <CALayer: 0x301d5a080>; contentOffset: {0, 0}; contentSize: {3168, 98.154666666666671}; adjustedContentInset: {0, 0, 0, 0}; layout: <IQEngCollectionViewFlowLayout: 0x1237e7480>; dataSource: IQEngCarouselView:<IQEngCarouselView: 0x130117e00; frame = (16 11.4133; 396 98.1547); clipsToBounds = YES; layer = <CALayer: 0x301d59f20>>>  This will become an assert in a future version.

然后在xcode16运行是会直接闪退的,控制台会显示

*** Assertion failure in -[UICollectionView _updateVisibleCellsNow:], UICollectionView.m:5673

*** Terminating app due to uncaught exception 'NSInternalInconsistencyException', reason: 'Expected dequeued view to be returned to the collection view in preparation for display. When the collection view's data source is asked to provide a view for a given index path, ensure that a single view is dequeued and returned to the collection view. Avoid dequeuing views without a request from the collection view. For retrieving an existing view in the collection view, use -[UICollectionView cellForItemAtIndexPath:] or -[UICollectionView supplementaryViewForElementKind:atIndexPath:]. Dequeued view: <IQEngUICollectionViewCell: 0x1627b4780; baseClass = UICollectionViewCell; frame = (396 0; 396 98.1547); clipsToBounds = YES; backgroundColor = UIExtendedGrayColorSpace 0 0; layer = <CALayer: 0x302bc77a0>>; Collection view: <UICollectionView: 0x15fd0c000; frame = (0 0; 396 98.1547); clipsToBounds = YES; gestureRecognizers = <NSArray: 0x3030c4570>; backgroundColor = <UIDynamicSystemColor: 0x303a1f880; name = systemBackgroundColor>; layer = <CALayer: 0x302663260>; contentOffset: {0.33333333333333331, 0}; contentSize: {3168, 98.154666666666671}; adjustedContentInset: {0, 0, 0, 0}; layout: <IQEngCollectionViewFlowLayout: 0x15fb53480>; dataSource: IQEngCarouselView:<IQEngCarouselView: 0x15fcab800; frame = (16 11.4133; 396 98.1547); clipsToBounds = YES; layer = <CALayer: 0x3026630a0>>>'

问题原因在于,轮播图在自动轮播的时候调用的方法有问题

这个代码是有问题的    
UICollectionViewCell *cell = [self collectionView:self.collectionView cellForItemAtIndexPath:indexPath];CGFloat f1_minX = cell.frame.origin.x;CGPoint point = CGPointZero;point.x = f1_minX;CGPoint nextPoint = [self.collectionViewLayout targetContentOffsetForProposedContentOffset:point withScrollingVelocity:CGPointZero];[self.collectionView setContentOffset:nextPoint animated:animated];

将上面代码换成

    [self.collectionView scrollToItemAtIndexPath:indexPathatScrollPosition:UICollectionViewScrollPositionLeftanimated:animated];

可以解决问题

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/888271.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Gentoo Linux部署LNMP

一、安装nginx 1.gentoo-chxf ~ # emerge -av nginx 提示配置文件需更新 2.gentoo-chxf ~ # etc-update 3.gentoo-chxf ~ # emerge -av nginx 4.查看并启动nginx gentoo-chxf ~ # systemctl status nginx gentoo-chxf ~ # systemctl start nginx gentoo-chxf ~ # syst…

【k8s深入理解之 Scheme 补充-2】理解 register.go 暴露的 AddToScheme 函数

AddToScheme 函数 AddToScheme 就是为了对外暴露&#xff0c;方便别人调用&#xff0c;将当前Group组的信息注册到其 Scheme 中&#xff0c;以便了解该 Group 组的数据结构&#xff0c;用于后续处理 项目版本用途使用场景k8s.io/apiV1注册资源某一外部版本数据结构&#xff0…

CQ 社区版 2024.11 | 新增“审批人组”概念、可通过SQL模式自定义审计图表……

CloudQuery 社区 11 月新版本来啦&#xff01;本月版本依旧是 CUG&#xff08;CloudQuery 用户组&#xff09;尝鲜版的更新。 针对审计模块增加了 SQL 模式自定义审计图表&#xff1b;在流程模块引入了“审批人组”概念。此外&#xff0c;在 SQL 编辑器、连接管理等模块都涉及…

做异端中的异端 -- Emacs裸奔之路4: 你不需要IDE

确切地说&#xff0c;你不需要在IDE里面编写或者阅读代码。 IDE用于Render资源文件比较合适&#xff0c;但处理文本&#xff0c;并不划算。 这的文本文件&#xff0c;包括源代码&#xff0c;配置文件&#xff0c;文档等非二进制文件。 先说说IDE带的便利: 函数或者变量的自动…

RDIFramework.NET CS敏捷开发框架 SOA服务三种访问(直连、WCF、WebAPI)方式

1、介绍 在软件开发领域&#xff0c;尤其是企业级应用开发中&#xff0c;灵活性、开放性、可扩展性往往是项目成功的关键因素。对于C/S项目&#xff0c;如何高效地与后端数据库进行交互&#xff0c;以及如何提供多样化的服务访问方式&#xff0c;是开发者需要深入考虑的问题。…

GitLab CVE-2024-8114 漏洞解决方案

漏洞 ID 标题严重等级CVE ID通过 LFS 令牌提升权限高CVE-2024-8114 GitLab 升级指南GitLab 升级路径查看版本漏洞查询 漏洞解读 此漏洞允许攻击者使用受害者的个人访问令牌&#xff08;PAT&#xff09;进行权限提升。影响从 8.12 开始到 17.4.5 之前的所有版本、从 17.5 开…

基于Pyside6开发一个通用的在线升级工具

UI main.ui <?xml version"1.0" encoding"UTF-8"?> <ui version"4.0"><class>MainWindow</class><widget class"QMainWindow" name"MainWindow"><property name"geometry"&…

Redis(配置文件属性解析)

一、tcp-backlog深度解析 tcp-backlog是一个TCP连接的队列&#xff0c;主要用于解决高并发场景下客户端慢连接问题。配置文件中的“511”就是队列的长度&#xff0c;对联与TCP的三次握手有关&#xff0c;不同的linux内核&#xff0c;backlog队列中存放的元素&#xff08;客户端…

24.12.02 Element

import { createApp } from vue // 引入elementPlus js库 css库 import ElementPlus from element-plus import element-plus/dist/index.css //中文语言包 import zhCn from element-plus/es/locale/lang/zh-cn //图标库 import * as ElementPlusIconsVue from element-plus/i…

mybatis-plus 对于属性为null字段不更新

MyBatis-Plus 默认情况下会根据字段的值是否为 null 来决定是否生成对应的 UPDATE 语句。这是由 更新策略 决定的&#xff0c;默认的行为是 忽略 null 值&#xff0c;即如果字段值为 null&#xff0c;该字段将不会出现在 UPDATE 语句中。 默认行为分析 MyBatis-Plus 默认的 Fi…

C++小问题

怎么分辨const修饰的是谁 是限定谁不能被改变的&#xff1f; 在C中&#xff0c;const关键字的用途和位置非常关键&#xff0c;它决定了谁不能被修改。const可以修饰变量、指针、引用等不同的对象&#xff0c;并且具体的作用取决于const的修饰位置。理解const的规则能够帮助我们…

在线家具商城基于 SpringBoot:设计模式与实现方法探究

第3章 系统分析 用户的需求以及与本系统相似的在市场上存在的其它系统可以作为系统分析中参考的资料&#xff0c;分析人员可以根据这些信息确定出本系统具备的功能&#xff0c;分析出本系统具备的性能等内容。 3.1可行性分析 尽管系统是根据用户的要求进行制作&#xff0c;但是…

TS问题之class

类 派生类包含了一个构造函数&#xff0c;它 必须调用 super()&#xff0c;它会执行基类的构造函数。 而且&#xff0c;在构造函数里访问 this的属性之前&#xff0c;我们 一定要调用 super()。 这个是TypeScript强制执行的一条重要规则。public 在TypeScript里&#xff0c;成…

TongRDS分布式内存数据缓存中间件

命令 优势 支持高达10亿级的数据缓冲&#xff0c;内存优化管理&#xff0c;避免GC性能劣化。 高并发系统设计&#xff0c;可充分利用多CPU资源实现并行处理。 数据采用key-value多索引方式存储&#xff0c;字段类型和长度可配置。 支持多台服务并行运行&#xff0c;服务之间可互…

项目整合logback日志打印线程id

项目打印日志能帮助我们解决很多的问题&#xff0c;提示我们出现的问题&#xff0c;通过日志我们可以准确的定位问题快速找到问题点解决问题。 <?xml version"1.0" encoding"UTF-8"?> <!-- 日志级别从低到高分为TRACE < DEBUG < INFO &l…

Flutter-Web打包后上线白屏

问题描述 Flutter上线后进行测试发现界面白屏&#xff0c;打开开发者模式查看网络发现加载main.js文件404 问题原因 我上线的地址是https://xxx:8091/homedots,但是我打包后的index文件中的baseUrl是"/",将地址改成”/homedots/"&#xff0c;注意homedots后面…

算法训练营day22(二叉树08:二叉搜索树的最近公共祖先,插入,删除)

第六章 二叉树part08 今日内容&#xff1a; ● 235. 二叉搜索树的最近公共祖先 ● 701.二叉搜索树中的插入操作 ● 450.删除二叉搜索树中的节点 详细布置 235. 二叉搜索树的最近公共祖先 相对于 二叉树的最近公共祖先 本题就简单一些了&#xff0c;因为 可以利用二叉搜索树的…

Rust循环引用与多线程并发

循环引用与自引用 循环引用的概念 循环引用指的是两个或多个对象之间相互持有对方的引用。在 Rust 中&#xff0c;由于所有权和生命周期的严格约束&#xff0c;直接创建循环引用通常会导致编译失败。例如&#xff1a; // 错误的循环引用示例 struct Node {next: Option<B…

ambari metrics单机模式改成集群模式

最近碰到了ambari平台ambari metrics相关的lib较大&#xff0c;导致系统盘使用率较高。今天对这个组件进行转移到其他磁盘使用率低的服务器上&#xff0c;在安装好metrice collector组件后&#xff0c;发现启动时一直报如下错误。 通过报错可以定位到&#xff0c;该组件的模式是…

前端 递归优化

在前端开发中&#xff0c;递归是一种常见的编程技巧&#xff0c;但它也可能带来性能问题&#xff0c;特别是当递归深度很深或递归调用非常频繁时。以下是一些优化递归的方法&#xff1a; 1. 尾递归优化 尾递归是指递归调用是函数中的最后一个操作&#xff0c;没有额外的计算。…