【发布时间】:2013-01-21 02:45:47
【问题描述】:
我有一个我一直在为 ios 6.1 开发的应用程序,我终于让它按我想要的方式工作了。
然后只是为了测试它在旧 iPhone 上的工作方式,我将部署目标设置为 5.1,当我运行它时,用户界面开始看起来一团糟。
有人知道为什么会这样吗?我应该将部署目标保持在 6.1 吗?如果是这样,我如何确保该应用在旧版 iPhone 上看起来正常?
ps - 这是我检查自动布局选项时的崩溃
*** Terminating app due to uncaught exception 'NSInvalidUnarchiveOperationException', reason: 'Could not instantiate class named NSLayoutConstraint'
*** First throw call stack:
【问题讨论】:
-
我将首先研究您使用的逻辑,使其看起来像它的样子。如果我们不知道您的问题的确切性质,您会比我们任何人都清楚。对于初学者,也许您正在使用不推荐使用的方法。用户界面有什么不同?它是倒置的,它应该是蓝色的,它是黄色的,当设备旋转时它会发出淫秽的噪音吗?你收到任何编译警告吗?
-
@Jeremy 实际上我只是仔细检查了一遍,这可能是因为我关闭了“自动布局”复选框以防止旧手机崩溃。但它有点搞砸了事情的样子。你知道为什么会这样吗?
-
很明显,自动布局对于视图的显示至关重要。我不会忽视崩溃问题。由于您需要自动布局,因此您需要找到导致崩溃的潜在问题。如果我们可以帮助您解决崩溃问题,那么您的原始问题将成为非问题。为了让你开始,我推荐你to this post。
-
@Jeremy 我刚刚发布了在 ios 5.1 模拟器上运行时发生的错误
-
@Genadinik 你的崩溃日志是完全正常的:
AutoLayout是一个完整的 iOS 6 功能。您不能在 iOS 5 及更低版本上使用它。如果您需要您的应用兼容 iOS 5 及更低版本,您需要禁用Autolayout并通过Autoresizing Mask设置您的视图