每次重启Xcode时,Storyboard缺少约束

时间:2014-11-22 06:28:47

标签: ios xcode storyboard autolayout nslayoutconstraint

auto layout中使用storyboard,我在UILabel添加了一些约束而没有警告,然后我重新启动Xcode它会向我显示警告,如图片,我修复了警告,但是当我重新启动Xcode时,会再次显示相同的警告。 现在我的storyboard中有大约20个相同的警告,每次重新启动Xcode时我都必须修复它。

编辑细节

1. A UILabel with width is 0 and constraints is like this

enter image description here

2. When I restart Xcode, then it change to :

enter image description here

3. And show me the warning:

enter image description here

4. Then I have to click the waring button and 'Update Frame' to fix it

enter image description here

8 个答案:

答案 0 :(得分:5)

经过简单的研究后,我发现这个bug很容易被复制,并且不依赖于git,storyboard权限等。要重现它,你可以创建没有文本的UILabel并将其宽度设置为0.此外,你不要#39; t需要添加一些额外的视图,只需要一个UILabel。总而言之,我认为您在故事板中发现了一个错误,不幸的是我还没有找到任何解决方法。您可能应该报告https://bugreport.apple.com

答案 1 :(得分:0)

可能是Storyboard文件上的权限问题导致无法保存更改。退出并重新打开Xcode后,是否保存了故事板的其他更改?

您可以通过将目录更改为应用程序的目录来检查来自终端的Main.storyboard权限+ /Base.lproj /

cd ~/Documents/YOUR_APP_CONTAINING_FOLDER/YOUR_APP_NAME/Base.lproj/

并使用命令

ls -l

Main.storyboard上输出的权限应为-rw-r - r -

如果权限正常,此问题是否仅影响UILabel或所有UIElements的自动布局约束?

答案 2 :(得分:0)

我会修复它,对repo进行git提交,然后尝试重新启动它。如果您使用VCS,它可能会起作用

答案 3 :(得分:0)

使用autolayout时,会运行许多自动例程。当他们在约束/视图中发现错误时,他们会尝试通过忽略“错误”约束来修复它。您会看到这些“错误”约束未保存。

因此,当您再次制作它们时,您将创建立即标记为有缺陷的约束。所以nog得救了。

答案 4 :(得分:0)

问题看起来不像你的UILabel和tableView,但是由于containerView保存了你的两个对象。因此,尝试在containerView上设置约束。如果它可以正常工作,那么您的警告将被自动删除。

答案 5 :(得分:0)

我们遇到了类似的问题,但在我们的案例中,我们有一个图片一直在删除。我们做了什么来解决这个问题 - 我们确保我们在Git中拥有最新版本,从本地机器中删除了该项目,然后再次克隆了Git repo。之后一切都还好。

答案 6 :(得分:0)

在XCode版本6.2 bate4(6C107a)中解决了同样的问题。

XCode版本6.2 bate4
发行日期:2015年1月12日
建立:6C107a

答案 7 :(得分:0)

我在Xcode 6.3上遇到同样的问题。我每次重启机器都需要更新约束