属性8.0之前的iOS版本的不可用警告

在界面生成器中导致此警告的是什么?

属性相对于8.0版本之前的iOS版本的版面边距,布局属性不可用。

我正在使用XCode 6 Beta。 警告指向xml源中不涉及属性的行。

由于我已经创build了约束,答案是点击约束,然后查看Utilities栏(在右边)。 如下图所示,点击一个项目,然后确保“相对于保证金”未选中。

相对于保证金截图

当您在Xcode 6中添加约束时,您可以select“约束到边距”,这会创build一个不同的约束,例如在Xcode 5中无法读取。创build没有此选项的约束,警告应该消失。 这个约束将在iOS 8上可用。

在这里输入图像说明

如果你已经创build了约束,我们可以改变它,点击约束并编辑它。 select第二项时,可以取消选中“相对于保证金”选项(如GLee答案中所述)。

如果你不能find警告来自哪里,你可以使用这个grepfind它。

在你的项目目录中的terminal中运行这个:

grep -C 6 -nr Margin . 

6表示在比赛之前和之后显示多less上下文。

根据Gasper Kolenc的“开源代码”开发故事板非常有用。 这里是从我的经验解决这个问题有点更多的信息:

  1. 在故事板源代码中search“margin”。您将看到如下所示的行。

    约束firstAttribute =“trailingMargin”secondItem =“Pgb-8w-IHT”secondAttribute =“Trailing”constant =“8”id =“nKP-uZ-7Xm”/

  2. find其中一个属性的id(上面例子中的Pgb-8w-IHT)。

  3. 向上滚动以查找此约束所属的对象。 就像是:

    tableViewCell contentMode =“scaleToFill”selectionStyle =“default”

  4. 切换回故事板视图并显示身份检查器窗口。

  5. 通过上面find的对象的子视图来查找身份检查器上的id(Pgb-8w-IHT)。

  6. 一旦find检查的约束,find一个需要删除和重新创build没有约束边缘选项(使用常量=“”作为提示“)。

在我的情况下,我不得不从文件检查器中的故事板中取消选中“使用自动布局”,然后重新制作应用程序中的所有约束,即使用缩小/放大的红色矩形的旧方法。

大小类已被禁用,目标是IOS 7.1。

但是想一想,如果你有太多的视图控制器,并已经做好了你所有的约束。 当你禁用自动布局时,Xcode清除所有的自动约束,并恢复到旧模式。 那么你必须重新做所有的工作。

这是我摆脱该属性不可用警告的唯一方法。