我試圖爲子類UITableViewCell
設置背景顏色。我知道通常我應該使用tableView:willDisplayCell:forRowAtIndexPath:
。但是,我有一些邏輯來自定義tableView:cellForRowAtIndexPath:
中的UITableViewCell
的幾個方面,並且我想根據該邏輯設置單元格的背景顏色。我是否必須複製tableView:cellForRowAtIndexPath:
中的所有條件(tableView:willDisplayCell:forRowAtIndexPath:
)才能設置背景色?這種代碼重複似乎很浪費,可能不明智。UITableViewCell的條件背景顏色
我能想到的最好的解決方案是一個的UIColor屬性添加到UITableViewCell
子類,設置它的基礎上出現的條件tableView:cellForRowAtIndexPath:
,只是有tableView:willDisplayCell:forRowAtIndexPath:
設置單元格的背景顏色爲它自己的顏色屬性。這是處理這種情況的正確方法嗎?它看起來有點笨重,但我想不出更好的東西。
剛剛移動重複代碼的位置。我在'tableView:cellForRowAtIndexPath:'中定義了條件邏輯,用於定製單元格的其他幾個方面,我試圖避免將這些條件複製到另一個方法中來設置背景顏色 – jobsbilly
那麼您的問題是否已解決? –
不,我試圖弄清楚是否有一種很好的方法可以避免代碼重複。這個解決方案導致代碼重複,因爲決定如何定製單元格的條件邏輯(包括背景顏色)需要在'tableView:cellForRowAtIndexPath:'中出現,例如標籤文本和按鈕函數,並且在'getColorForIndexPath :'你建議選擇合適的背景色。 – jobsbilly