[UILabel length]:使用 AutoLayout 后发送到实例的无法识别的选择器

问题描述 投票:0回答:3

我有一个带有自定义单元格的表格视图,其中包含多个视图,一个叠加在另一个视图上,其中一个是使用 XIB 文件实例化的。在该 XIB 文件中,我有一个 UIImage 和两个 UILabels,它们封装在 UIView 中。我已经发现这是我的例外的根源,但我不明白为什么。 如果我在标签上设置硬编码(而不是相对)约束,即固定宽度和高度,它就可以工作。

我正在附上显示限制的打印屏幕。请注意,在大多数约束中,常数 = 0,否则它会在文档大纲的括号中说明。此外,标签的高度是其容器高度的 0.5。

有任何关于它崩溃原因的线索吗?

xcode6 autolayout
3个回答
16
投票

刚刚遇到并为我解决了这个问题。我们在 UIView 中有一个 UILabel,该 UILabel 的插座称为

title
。 当我们要求单元格“layoutIfNeeded”时,我们得到了
UILabel length
异常。 UIView 上的 -
viewForBaselineLayout
方法提到了单词 title。

我们更改了插座,因此它被称为“cellTitle”(除了“标题”之外的任何名称),这种崩溃就消失了。

您可以尝试更改您的分店名称吗?


0
投票

确保您使用的是静态表。如果您随后删除 heightForFooterRow

等方法

确保自动布局、重置所有内容并构建应用程序。


0
投票

我遇到了类似的问题。我试图使用第三方图表库创建条形图,但我忘记在故事板中分配我的自定义 UIChartView 类名。添加类名后,问题解决了。

Xcode 的错误报告确实不是很准确。

© www.soinside.com 2019 - 2024. All rights reserved.