ios - 文本少于 10 个字符的 UITextView 挂起 iOS 9

标签 ios objective-c uitextview

从 iOS 9(我使用的是 Xcode 7.0 beta 6 (7A192o))开始,带有 UITextView 的 Objective-C 应用程序将挂起如果 TextView 的文本少于 10 个字符。 CPU 使用率高达 99-100%,整个系统挂起。

如何重现:

  1. 从模板(或其他任何东西)创建一个全新的单 View 应用。
  2. 在 Storyboard 中,在主视图的任意位置添加一个具有默认设置的 UITextView。
  3. 将文本设置为长度少于 10 个字符的字符串。
  4. 在模拟器(任何设备,只要是 iOS 9)中启动该应用。
  5. 启动后,在显示单个 View 之前,系统将挂起,CPU 使用率将永远达到最大值。
  6. 将文本设置为超过 10 个字符的任何其他文本并且应用程序可以正常运行。a

看起来约束或任何其他设置不会影响此行为。

直接的解决方案是不要少于 10 个字符,但是,这很蹩脚。

可以查看this github repository这也说明了问题。

我还向 Apple 提交了错误报告(错误编号 22736256,尽管您可能还看不到它)。

最奇怪的。漏洞。曾经。

有没有人也遇到这个??

最佳答案

我花了半天时间将错误缩小到 UITextView。这一定是有史以来最愚蠢的错误。

您无需确保 UITextView 至少包含 10 个字符。只需将至少 10 个字符的默认值添加到 Interface Builder 中的 UITextView 即可解决此问题。然后,您可以使用代码清空 UITextView。

顺便说一下,这是一个 Xcode 7 错误,而不是 iOS9 错误。使用 Xcode 7 构建的新版本将在 iOS7 和 iOS8 中产生相同的问题。

关于ios - 文本少于 10 个字符的 UITextView 挂起 iOS 9,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32611789/

相关文章:

objective-c - NSInvocation 傻瓜?

iOS - 如何让 UITextView 始终位于 UIImageView 之上?

iOS 11 : UITextView typingAttributes reset when typing

ios - Xcode 只能看到写在单独文件中的嵌套类的一些类似扩展

ios - 是否有适用于 iOS 的第 3 方谷歌地图 API

objective-c - 未检测到已删除的条目-iOS

ios - Objective C setFrame 不适用于 UIView

ios - Swift - 旋转 UITextView 自动调整大小问题

ios - 如何使用 Objective C 获取 Tableview 选择的单元格 UILabels 值?

ios - 如何在 Swift 中获取写入 OpenSSL BIO 的 UnsafeMutablePointer<Object> 的长度?