我知道这个警告的原因以及如何解决它:给标签一个优先宽度。
问题是,当我点击该警告时,我没有看到任何标签/视图/视图控制器被选中。故事板打开了,就是这样。在我的故事板中有许多具有许多视图的视图控制器。如何在不手动迭代所有视图控制器的情况下找出导致问题的标签?当我点击警告时,我希望它将我带到导致警告的视图,但它只是打开故事板。
答案 0 :(得分:38)
以下是查找导致此警告的特定标签的一种方法:
答案 1 :(得分:11)
运行XCODE 6.1,我发现找到错误的最简单方法是通过Report Navigator。
View
- > Navigators
- > Show Report Navigator
或只需按⌘-8
⌘-f
中搜索对象ID。
答案 2 :(得分:2)
如that post中所述,您也可以使用此正则表达式 故事板源中的< label(?!。* preferredMaxLayoutWidth),用于查找未设置preferredMaxLayoutWidth的所有标签。然后纠正它。
答案 3 :(得分:2)
@Don Eichenseer的答案很棒。但对于那些想要解决它的人:
我之前遇到过同样的问题。问题是由于UILabel
Lines
属性(在属性检查器中)超过1
。找到相关的UILabel
后,请将其设置为1
。
答案 4 :(得分:2)
只需从标签中删除行数并以编程方式设置
.some{
overflow-y:auto;
overflow-x:hidden;
width : 40%;
}
答案 5 :(得分:1)
这是来自集合视图的警告吗?如果是这样,我猜它是一个单元格和一个行数设置为零的标签。
答案 6 :(得分:0)
我在没有自动布局的7.1中开发的现有项目中遇到了同样的问题。 一旦我将应用程序迁移到iOS8并在项目文件中将版本更改为8.0,出于某种原因我在Xib中得到了警告,我在那里使用了多行UILabel。
为了解决问题,选择Xib的文件检查器并检查它构建的版本,在我的情况下它仍然适用于iOS7
您应该将Build for更改为相关版本
并且警告将在我的情况下消失: - )
答案 7 :(得分:0)