2015-02-23 32 views
7

我有一個表格視圖與自定義單元格,其中包含幾個視圖堆疊在另一個之上,其中一個使用XIB文件實例化。在那個XIB文件中,我有一個UIImage和兩個UILabel我封裝在一個UIView中。我已經發現這是我的例外的來源,但我不明白爲什麼。 如果我在標籤上設置了硬編碼(而不是相對)約束,即固定的寬度和高度,它就起作用。[UILabel length]:無法識別的選擇器使用AutoLayout後發送到實例

我附上了一個顯示約束條件的打印屏幕。請注意,在大多數約束條件下,常量= 0,否則它在文檔大綱的括號中聲明。此外,標籤的高度是其容器高度的0.5倍。

任何線索爲什麼它崩潰?

回答

16

剛剛遇到並解決了這個問題給我。我們在UIView中有一個UILabel,並且UILabel的出口被稱爲title。當我們要求我們的單元格'layoutIfNeeded'時,我們得到了UILabel length例外。 UIView上的 - viewForBaselineLayout方法提到單詞標題。

我們改變了插座,所以它被稱爲「cellTitle」(除了「標題」之外的任何東西)並且這個崩潰消失了。

你可以嘗試改變你的名字?

+0

謝謝!你省去了我幾個小時的調試:) – Salah 2016-02-22 14:34:38

+0

偉大的捕獲,你保存了我的小時和腦細胞!非常感謝! – 2016-06-06 14:36:31

+0

它只發生在iOS8版本中。 – 2017-08-15 20:14:21

0

確保您使用的是靜態表格。如果您然後刪除方法爲heightForFooterRow

請確保您自動佈局,重置所有並生成應用程序。

相關問題