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