在 Xcode 中使用 storyboard
,我有一个运行良好的应用程序,但在最新的 Xcode 更新 (IOS 9) 后,该应用程序卡在启动屏幕上。
DidfinishLaunchingWithOptions
已成功调用并到达函数末尾,但初始 View Controller 尚未加载。
如果我将初始 View Controller 切换到另一个屏幕,它工作正常..
为什么第一个屏幕上没有加载初始 View Controller ,而如果我将其设置在第二个屏幕上,它就会加载?
我首先认为这可能与约束或 UI 元素有关,但即使在重置约束并删除 UI 元素(只是一组按钮)之后,仍然存在同样的问题。 viewcontroller.m 中只有基本代码..(并且它没有被调用,因为我在每个函数中都有控制台日志)
谁有同样的问题或解决方案吗?
编辑1:似乎是由其中一个UI元素引起的,将它们全部删除后, View 确实加载了..现在尝试将它们一一添加,看看是什么原因导致的错误。
编辑2:我将错误跟踪到 View 中的一个imageview加textview,没有 View 加载的imageview和textview,而没有加载图像和textview。为 ImageView 选择不同的图像似乎并不重要。尝试找出此 ImageView 或 TextView 出现错误的原因。
编辑3:(不再适用)有问题的 View 在网格中有4个图像和4个 TextView ,看起来图像压开了 TextView ,并且发生这种情况时, View 不会加载。 (也许有些限制无法解决..)
编辑4: View 如下所示(由于 NDA,我无法发布屏幕截图)
Image | Image
Textview | Textview
--------------------------------------
Image | Image
Textview | Textview
如果我们对所有 Textview 使用相同的文本,它会起作用,但是如果我们更改右上 Textview 更短文本,它会卡住并且无法加载。 这是一个错误吗?我真的迷失了..我重复了同样的实验3次,每次我将文本设置为短变体时它都不起作用,对于更长一点的文本值它确实起作用..
<小时/>编辑5、问题:文字不能太小
当我们将四个 TextView 之一的文本设置为小于 10 个字符的字符串时,该 View 不会加载。如果我们使用大于十个字符的字符串(任何字符串),则 View 会加载。
这是一个非常非常奇怪的错误,我们现在正在尝试更改 TextView 的边界框大小,看看它是否与此有关。
如果字符串包含 9 个字符, View 将拒绝加载。 10 个字符可以正常加载,没有任何问题。不存在任何限制问题。
当我们使用空格使其至少 10 个字符时,一切正常...... 这绝对是一个错误..
最佳答案
好吧,最终问题是 ImageView 下方的 TextView 中的文本“太小”。为什么文字太小,或者“太小”是什么意思,没有任何线索。但在本例中它是 10 个字符。
解决方案
我将每个 TextView 的初始文本更改为至少包含 10 个字符的字符串。我以编程方式加载 View 后将文本更改为我想要的文本。这将按预期工作并加载 View 。
我会尝试将其作为错误提交给苹果,因为这永远不可能是正确的行为。感谢大家就此事提出建议。
关于ios - 将 Xcode 更新到 IOS 9 后,应用程序卡在启动屏幕上并且未加载初始 View Controller ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32721848/