UIScrollView setContentSize 因未捕获的 NSRangeException 崩溃

2023-12-26

删除 UIScrollView 的某些内容后,调用 setContentSize 会使应用程序崩溃。

int toolbarHeight = [[[self navigationController] toolbar] frame].size.height;
int navbarHeight = [[[self navigationController] navigationBar] frame].size.height;

int totalHeight = toolbarHeight + navbarHeight;
// contentWidth is 640
CGSize contentSize = CGSizeMake(contentWidth, [scrollView frame].size.height - totalHeight);

[scrollView setContentSize:contentSize]; // Crash happens here, contentSize is perfectly valid

* 由于未捕获的异常“NSRangeException”而终止应用程序,原因:“*-[__NSArrayM objectAtIndex:]: 索引 1 超出范围 [0 .. 0]'

可能是什么原因造成的?

EDIT:对于那些能够理解它的人来说,这是堆栈跟踪:

* thread #1: tid = 0x1c03, 0x34d2e32c libsystem_kernel.dylib`__pthread_kill + 8, stop reason    = signal SIGABRT
frame #0: 0x34d2e32c libsystem_kernel.dylib`__pthread_kill + 8
frame #1: 0x36c2a20e libsystem_c.dylib`pthread_kill + 54
frame #2: 0x36c2329e libsystem_c.dylib`abort + 94
frame #3: 0x308eff6a libc++abi.dylib`abort_message + 46
frame #4: 0x308ed34c libc++abi.dylib`_ZL17default_terminatev + 24
frame #5: 0x36361356 libobjc.A.dylib`_objc_terminate + 146
frame #6: 0x308ed3c4 libc++abi.dylib`_ZL19safe_handler_callerPFvvE + 76
frame #7: 0x308ed450 libc++abi.dylib`std::terminate() + 20
frame #8: 0x308ee824 libc++abi.dylib`__cxa_rethrow + 88
frame #9: 0x363612a8 libobjc.A.dylib`objc_exception_rethrow + 12
frame #10: 0x34e9050c CoreFoundation`CFRunLoopRunSpecific + 404
frame #11: 0x34e9036c CoreFoundation`CFRunLoopRunInMode + 104
frame #12: 0x3618c438 GraphicsServices`GSEventRunModal + 136
frame #13: 0x31f86e7c UIKit`UIApplicationMain + 1080
frame #14: 0x0000cb50 App`main + 152 at main.m:16

当内容偏移量超出内容大小时,似乎会引发异常。

I had views side by side in the scroll view and the offset was to the last view.

+------+------+------+
|      |      |offset|
+------+------+------+

Now the last view is removed and the content size changed to a smaller one.

+------+------+
|      |      |offset
+------+------+

The offset is left behind.

我更改了代码,以便首先移动偏移量,然后更改内容大小。

+------+------+
|      |offset|
+------+------+

到目前为止没有崩溃。

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

UIScrollView setContentSize 因未捕获的 NSRangeException 崩溃 的相关文章

  • UIFont Woes(一些自定义字体加载,但其他字体不加载)

    我在加载某些自定义字体时遇到问题 我遵循了这个问题的 400 多个赞同的传统答案中的建议 并且它非常适合一个项目 然而 在我正在从事的另一个项目中 我遇到了加载 UIFont 的问题 这些问题与帖子中发现的问题有些相似向 UIAppFont
  • UICollectionView 快速粘性标题

    我正在尝试创建一个粘性补充标题 它始终保持在顶部并且不会响应滚动事件 到目前为止 我发现的解决方案仍然对弹跳滚动做出反应 并使用自定义 flowLayout 进行修复 这也可能是我的问题的修复 我想要这种方式的原因是标头在其他地方使用并且应
  • 如何在 flutter 插件的 Swift 编写的 iOS 部分中使用 Objective-C 框架

    In a 颤振插件 我想用一个Objective C我的框架iOS部分用swift编写 然后将其用于使用 Swift 的 Flutter 项目作为 iOS 语言 经过一些研究 我不是 iOS 开发人员 后 我发现我想要做的事情可以通过导入文
  • #import "xxx" 和 #import 有什么区别? [复制]

    这个问题在这里已经有答案了 可能的重复 include 和 include 文件名 有什么区别 https stackoverflow com questions 21593 what is the difference between i
  • 使用 Swift 导入 aurioTouch 库

    我正在尝试将 Objective C 应用程序转换为 swift 我想导入课程奥里奥触摸 https developer apple com library ios samplecode aurioTouch Introduction In
  • 检测 SFSafariViewController 中的 URL 更改

    我有一个 SFSafariViewController 当用户点击我的应用程序中的链接时 它会打开 我需要检测 URL 何时更改 这样当它更改时 应用程序会显示警报 我们如何检测 SFSafariViewController 中的 URL
  • 使用 NSPredicate 来检测 NOT CONTAINS

    我放弃 我已经尝试了我能想象到的所有组合来检查一个字符串是否包含另一个字符串 这是描述我想要做的事情的直观语法示例 NSPredicate pPredicate NSPredicate predicateWithFormat NOT K C
  • 撤消“从选择中创建新组”项目 xcode 4

    我不小心将我的项目添加到了一个组中 现在我无法在 xcode 4 中将其删除 有什么想法吗 如果我将其拖出 它会要求我创建一个工作区 编辑 我在错误报告中向苹果报告了这一点 我会及时向大家通报最新情况 这是一个没有工作空间的项目 关闭 Xc
  • iOS 应用程序在被杀死之前平均在后台运行多长时间?

    我需要通过 API 检查后端的应用程序设置更新 因此我不确定在启动时执行此类检查是否足够 或者我需要在应用程序进入前台后立即执行此类检查 当然 这取决于打开的应用程序数量 设备功能 但是关于应用程序可以在后台存活多长时间直到被杀死 有什么一
  • 按钮图像未显示在 UItextfield 的 rightView 中

    我创建了一个按钮图像 并使用 Sa wift 将其放置在 UITextField 密码 的 rightView 上 我想在密码字段中创建切换按钮隐藏 显示安全文本 右视图中显示的图像 Code func passwordToggleButt
  • 与在后台运行应用程序的一台设备进行多点连接

    我想使用多点连接框架连接 2 台设备 其中一台设备在后台运行应用程序 就像 Firechat 一样 我无法确认这是否有效 我已将其安装在 iPhone 5S 和 4 上 但是他们只是找不到彼此 但我在某处读过这有效 实现这一目标的最佳方法是
  • 加快 SpriteSheet 的 UIImage 创建速度

    我不确定我的标题是否正确 但我不确定我的问题到底在哪里 我需要从 spritesheet 加载 UIImage 数组 然后将其用作 UIImageView 中的动画 spritesheet是用TexturePacker生成的 它生成巨大的图
  • 如何让 iPhone 发出蜂鸣声?

    什么代码可以让我在 iPhone 上发出标准的蜂鸣声 好吧 这取决于您想要什么样的声音 以下是如何使用 AVFoundation 音频框架播放声音 import
  • 语言混合:模型和视图

    考虑开发一个应用程序 其中模型将使用 C 使用 Boost 编写 视图将使用 Objective C 使用 Cocoa Touch 编写 哪里有一些示例展示了如何集成 C 和 Objective C 来开发 iPhone 应用程序 直接从源
  • 在 iOS 中以编程方式配置代理设置

    如何在 iOS 中以编程方式配置代理设置NSURLSession 我跟着这个link https stackoverflow com questions 28101582 how to programmatically add a prox
  • 应用程序图标上的快捷方式项目不适用于 iOS 13

    为了支持应用程序图标上的快捷方式项目 我们在中实现了以下方法SceneDelegate func windowScene windowScene UIWindowScene performActionFor shortcutItem UIA
  • 控制 NSLayoutManager 中自定义文本属性周围的间距

    我有一个习惯NSLayoutManager我用来绘制药丸状标记的子类 我使用自定义属性为子字符串绘制这些标记 TokenAttribute 我会画画没有问题 但是 我需要在范围周围添加一些 填充 TokenAttribute 这样标记的圆角
  • 使用 CommonCrypto 的 Swift AES 加密

    我正在开发一个 iOS 应用程序代码7 1 with 斯威夫特2 1我正在尝试进行简单的加密AES 128 位 and PKCS7填充使用通用加密库 该代码有效 但每次我尝试投射NSData反对NSString然后对于 String 我得到
  • 无效的 Swift 支持 - 文件位置不正确

    我一直在尝试将新版本上传到 iTunes Connect 来更新应用程序 我第一次使用 xCode 6 但收到了一封来自 Apple 的电子邮件 内容如下 亲爱的开发者 我们发现您最近交付的 应用程序 存在一个或多个问题 要处理您的交货 必
  • 如何在 JSONKit 中 JSON 序列化 NSDate 字典

    我尝试使用 Jsonkit 和 Apple 的 JSON 序列化器 但没有成功 它不断破坏 geo 属性 该属性是 NSNumbers 的 nsarray Post p Post alloc init p uname mike p like

随机推荐

  • Java 中的 PrintWriter 或任何其他输出流不知道“\r\n”

    我在使用 PrintWriter 或任何其他输出流在服务器和客户端程序之间发送消息时遇到问题 如果我使用 println abc 进行通信 它可以正常工作 但是如果我使用 print abc r n print abc n 或 print
  • Objective-C 中的自动释放池 - 释放主 AutoreleasePool?

    根据我的理解 当一个对象被发送时autorelease消息 如果除中的自动释放池之外不存在自动释放池main m 该对象被放置在main m 假设这是正确的 我有几个问题 1 所有自动释放的对象是否都会保留在该池中直到应用程序终止 2 如果
  • NSAttributedString 文本始终以较大的 lineHeight 粘在底部

    我正在尝试实现来自 Sketch 的按设计标签 例如我需要字体大小 19 和行高 50 的文本样式 所以我最终使用NSAttributedString with NSMutableParagraphStyle但因文本粘在底部的问题而停止UI
  • \r 和 \n 有什么区别?

    How are r and n不同的 我认为这与 Unix Windows 和 Mac 有关 但我不确定它们究竟有何不同 以及在正则表达式中搜索 匹配哪些内容 他们是不同的角色 r是回车符 并且 n是换行 在 旧 打印机上 r将打印头送回行
  • 将 anticaptcha 与 selenium 集成

    我正在使用 Selenium Python 尝试填写表格 然后填写验证码 我找到了 python anticaptcha 并购买了 10 美元的积分 一切正常 验证码出现了 但什么也没发生 我花了几个小时试图寻找答案 查阅他们的 api 和
  • Android TabLayout 在启动时选择第一个选项卡

    我正在使用 Android 设计库中的 TabLayout 我有多个选项卡 每个选项卡在被选择时都有一个操作 所以我有一个属性 startSelection 它执行 tabLayout getTabAt startSelection sel
  • 如何在处理注释时写入 Gradle 日志记录?

    我有一个javax annotation processing Processor我用来生成源文件 这一切都工作正常 但我想在构建过程中将一些调试消息写入控制台 我可以使用注释Messeger类 但这不允许我利用 Gradle 日志记录 我
  • r 闪亮滑块输入轮

    我的 R 闪亮滑块输入有问题 如您所见 圆形功能 不起作用在这幅图片中 https i stack imgur com v4nd6 png 我做错什么了吗 sliderInput Er Choose expected return in p
  • 在哪里检查 android 片段中的方向变化

    在我的应用程序中 我有一个FragmentActivity与多个Fragment除了一个特定的情况外 全部处于纵向模式Fragment 我在之间移动Fragment通过页脚View是在FragmentActivity 我有不同的布局 实际上
  • 如何测试我的 Django 电子邮件视图是否可以捕获 BadHeaderError?

    我有一个带有电子邮件表单的 Django 视图 它允许用户输入主题和消息 并将其作为电子邮件发送给站点管理员 我想编写一个单元测试来确保该视图可以捕获错误标头错误 https docs djangoproject com en 1 4 to
  • SQLiteAsyncConnection UpdateWithChildren 不可用

    我正在尝试使用 SQLite net 在我的 PCL 内实现 OneToMany 关系 我有异步扩展包 SQLiteNetExtensions Async 并且我的代码基于中找到的示例https bitbucket org twincode
  • 在 Google Analytics API 中使用和查询自定义维度

    我正在尝试查询我的 Analytics 通用 以接收按自定义维度排序的指标列表 7月 Google Analytics API 博客 http analytics blogspot com 2013 07 40 new data point
  • 循环图的数据结构和算法

    我需要定义Data Structure and Algorithm for Circular Data Graph对于网络客户端 在服务器上 数据将以 2 列 CSV 格式提供 例如发送方 接收方 最终输出将呈现在JSON格式并发送到网络请
  • 以编程方式设置约束

    我正在尝试如何使用 UIScrollView 经过一番折腾 我终于掌握了窍门 但现在我似乎遇到了另一个障碍 在这个简单的应用程序中 我有一个滚动视图 为了使其工作 我必须将视图的底部空间设置为滚动视图约束为 0 如上所述here https
  • Kotlin 有恒等函数吗?

    Scala 有一个泛型identityPredef 中的函数 def identity A x A A Kotlin 在标准库中有类似的工具吗 当然我可以简单地使用 it 相反 但我发现identity更容易阅读 并且实例化所有这些 lam
  • 根据用户角色和产品类别应用不同的税(Woocommerce)

    如果用户具有特定角色 但仅限于某些产品类别 我需要应用不同的税 示例 如果具有 Vip 角色的客户 A 购买 Bravo 或 Charlie 类别的商品 则适用的税费将为 4 而不是 22 这是我写的代码 另一部分是在谷歌上找到的 但我不明
  • 猫鼬更新 MongoDB 中的字段不起作用

    我有这个代码 var UserSchema new Schema Username type String index true Password String Email String Points type Number default
  • 重置 MySqli 指针?

    我在重置指针方面遇到了一些困难 我想这样做是因为我将在同一脚本中使用同一查询两次 据我所知 我可以在循环获取数组后重置指针来做到这一点 如果有更好的方法来做到这一点 我很想听听 无论如何 这就是我得到的 getEvent connectio
  • 设置默认样式键的方法之间的差异

    我正在创建一个自定义控件 源自Control 并想要为控件定义默认主题 以前我创建的所有自定义控件 我都使用过 static IntegerUpDown DefaultStyleKeyProperty OverrideMetadata ty
  • UIScrollView setContentSize 因未捕获的 NSRangeException 崩溃

    删除 UIScrollView 的某些内容后 调用 setContentSize 会使应用程序崩溃 int toolbarHeight self navigationController toolbar frame size height