2012-02-28 55 views
0

我知道這個問題已被問及很多在一百種不同的方式(以及就在這個網站上)。但我努力把所有的東西放在一起。具有多個圖例和標籤的子類UItableViewCell

我想UITableViewCell看起來像這樣:

enter image description here

它multple傳說和幾個字段。傳說是靜態的,並且不會改變,但是相應的標籤會在寬度和高度上有所不同。因此細胞也是如此。我需要傳說始終與他們的標籤保持一致。

我試圖使用Interface Builder來做到這一點,但並不真正瞭解自動調整。儘管我很高興在代碼中做到這一點。

有沒有人知道如何做到這一點,或至少有一些很好的鏈接教程,源代碼等?

+0

等等那麼這張照片是你的桌子還是應該是一個單元格? – 2012-02-28 14:10:33

+0

只有一個細胞。每個單元格表示事件列表中的事件 – JonWells 2012-02-28 14:19:25

回答

0

把全表視圖在細胞內是crazytalk。也許有人把它實際運行 - 這並不意味着它是最好的實踐或良好的做法。

我會在做出一個非常腳踏實地的建議後回答你的問題。請考慮遵循Apple的指導方針,只需在您的單元格中爲此表格添加摘要,並允許用戶下推到另一個視圖控制器以查看特定事件的詳細信息。這可能會幫助您更快地開發應用並推向市場,然後您可以考慮高級內容,例如在運行時自定義單個單元高度。這就是說,如果你堅持把所有的雞蛋都放在這個籃子裏,那麼我認爲你需要在IB中實現你的表格視圖單元格,注意所有內容標籤框架尺寸的細節,然後在運行時間,使用NSString的sizeWithFont:constrainedToSize:方法之一來確定標籤的大小。讓他們這麼大。然後從該數據計算您的單元格的高度,並從表格視圖的tableView:heightForRowAtIndexPath:返回該值。這是我幾年前在應用程序中實現此功能的方式。 (坦率地說,我不確定它是否還在工作。)可能有一些更好的方法來計算CoreText中的標籤大小,我沒有看過。

更好的選擇是限制自己對每個標籤中可放置的文本長度的限制。然後,您可以靜態定義標籤並使用一個常量大小的單元格。把它放在IB中並不難。只需放下所有內容,並確保爲要在代碼中操作的每個對象創建IBOutlet和XCode/IB連接。

祝你好運!