iOS 7:“标签 - 标签”的错位视图框在运行时会有所不同

时间:2013-09-12 07:32:46

标签: ios ios7 storyboard uistoryboard nslayoutconstraint

我刚刚在iOS 6上完成了一个应用程序,并在一周前买了一个开发者帐户,所以没有多少时间玩iOS 7 SDK。刚刚下载了Golden Master版本并尝试升级我的应用程序以与iOS 7兼容。

我收到很多警告说

  

“标签 - 标签”的错位视图框在运行时会有所不同。

我无法运行该程序。该项目包含tableview,它正在解析和显示来自RSS的XML feed。

如何解决此问题?

5 个答案:

答案 0 :(得分:137)

接受的答案将修复问题,但这不是一个好的解决方案,因为它会删除所有约束。如果你花了几个小时来处理约束,那就不要这样做了。

如果单击警告旁边的三角形,您可以获得错误放置内容的说明。然后你可以将框架移动到它应该的位置。例如:

enter image description here

在这种情况下,我只是将文本视图的y位置移动到94,警告就会消失。这是因为我的一个约束会在应用程序运行时强制视图位于其他位置,但位置与故事板中当前的位置不同。


将框架移动到正确位置的另一种方法是单击故事板中视图控制器名称旁边的警告,然后单击黄色警告标志,然后单击更新框架。

enter image description here

enter image description here

这两种方法不具有破坏性,也不会消除您的约束。如果有的话,它会表明您可能需要在约束条件下进行细微的重新调整。

答案 1 :(得分:44)

我遇到了同样的问题,我得到了Apple的回复:

  

您需要更新约束以匹配这些视图的帧。

我做了以下事情:

编辑 - >解决自动布局问题 - >清除**视图控制器中的所有约束

然后我在视图中重新排序了我的对象。

PS:首先尝试Enrico的解决方案。

答案 2 :(得分:9)

我遇到了同样的问题,更新约束或更新框架。 在故事板上,您有一个小工具栏,如下图所示。 enter image description here

请参阅含义: -

enter image description here

您可以选择“更新帧”或“更新约束”并使用“重置为建议的约束”。 这将解决有关错放视图的问题。 不要拖放视图来调整布局。改为编辑适用的约束。 如果你不清楚,请告诉我。

答案 3 :(得分:6)

如果您在xCode中找到更新框架时遇到麻烦,可以这样做:

enter image description here

答案 4 :(得分:2)

在所有情况下,这些答案都不起作用。从Xcode的最新版本开始,使用UISearchBar,在IB中启用作用域字段会使搜索字段显示为双倍高度(但不会显示其下方的作用域)。无论您是否向搜索字段添加高度约束(任何高度),您都会收到警告:它是一个错位的视图,在运行时为88 H,但在IB中为44 H.更新帧(任何或所有帧)都无法解决问题。看起来像IB中的错误。