在auto layout
中使用storyboard
,我在UILabel
添加了一些约束而没有警告,然后我重新启动Xcode
它会向我显示警告,如图片,我修复了警告,但是当我重新启动Xcode
时,会再次显示相同的警告。
现在我的storyboard
中有大约20个相同的警告,每次重新启动Xcode
时我都必须修复它。
1. A UILabel with width is 0 and constraints is like this
2. When I restart Xcode, then it change to :
3. And show me the warning:
4. Then I have to click the waring button and 'Update Frame' to fix it
答案 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上遇到同样的问题。我每次重启机器都需要更新约束