我有一個應用程序故事板。在一個場景中,我有一個靜態單元格內容的tableview。是否可以將背景選定的顏色更改爲默認選項(藍色和灰色)之外的另一種顏色?如何更改背景所選顏色故事板靜態單元格
我知道如果我可以更改forRowAtIndexPath中的單元格背景顏色,但在這種情況下,我沒有任何來自tableview的數據源函數。我相信這是可能的IB或其他功能,我可以修改...
在此先感謝!
我有一個應用程序故事板。在一個場景中,我有一個靜態單元格內容的tableview。是否可以將背景選定的顏色更改爲默認選項(藍色和灰色)之外的另一種顏色?如何更改背景所選顏色故事板靜態單元格
我知道如果我可以更改forRowAtIndexPath中的單元格背景顏色,但在這種情況下,我沒有任何來自tableview的數據源函數。我相信這是可能的IB或其他功能,我可以修改...
在此先感謝!
我有同樣的問題。該解決方案有兩部分:
1)獲取單元格,看看this。 2)改變背景顏色:你必須創建一個你所需要的背景顏色的UIView,並將其設置爲電池
舉例的selectedBackgroundView,我用這個代碼中的UITableViewController的viewDidLoad中:
UIView *backgroundSelectedCell = [[UIView alloc] init];
[backgroundSelectedCell setBackgroundColor:[UIColor colorWithRed:130/256.0 green:169/256.0 blue:171/256.0 alpha:1.0]];
for (int section = 0; section < [self.tableView numberOfSections]; section++)
for (int row = 0; row < [self.tableView numberOfRowsInSection:section]; row++)
{
NSIndexPath* cellPath = [NSIndexPath indexPathForRow:row inSection:section];
UITableViewCell* cell = [self.tableView cellForRowAtIndexPath:cellPath];
[cell setSelectedBackgroundView:backgroundSelectedCell];
}
您不需要編寫任何一行代碼即可完成此操作。您可以使用故事板完成所有操作。只要做到這一點:
UIView
添加到您的UITableViewCell
並將其鏈接到單元格的selectedBackgroundView
特性(查找此屬性,則需要從"New Reference Outlet"
拖行並釋放它在所需UITableViewCell
)UIView
的顏色爲選中狀態你可以做同樣的事情與backgroundView
屬性所需的顏色。此外,您可以使用UIImageView
來使用圖像,而不是使用UIView
的單色背景。
下面是使用自定義的UIViewController,而不是一個UITableViewController一個示例文件,但它工作在兩個:http://uxp.com.br/downloads/CustomCell.zip
偉大的方法!這是與故事板一起工作的方式,我們許多人都不熟悉,以及他們如何被認爲與之合作。謝謝! – brainray 2012-10-23 23:14:55
你是如何做到這一點而不會出現這個錯誤的? HTTP://計算器。com/questions/13090338/runtime-error-setting-backroundview-property-of-uitableviewcell -in-storyboard – 2012-10-31 03:24:10
我沒有使用AutoLayout。也許這就是爲什麼我沒有得到任何錯誤。但它看起來像一個bug。你有沒有填補蘋果內的錯誤? – 2012-10-31 18:58:08
這裏是我們這些X-代碼5 +使用自動佈局的解決方案...
對於靜態單元格,你可以改變背景顏色,但它不起作用。但是,每個單獨的單元格都將在IB中自動具有內容視圖。如果我們更改此內容視圖的背景,它將更改單元格背景。
只需添加到@Leandro Alves的答案,所以我們不必將額外的UIViews
拖到我們的項目!
這不會改變選定的背景顏色。 – phatmann 2015-05-01 18:03:20
謝謝Carlos ...你是西班牙人嗎? – Camacho 2012-04-25 16:37:33
這種方法可能有效。我真的不知道當你有一堆單元格和表格滾動時它會如何表現。在動態單元中,它們在需要時被緩存和丟棄。在didLoad方法期間更改背景將確保第一個呈現單元格具有正確的背景顏色,但可能無法確保滾動單元格將保留該引用。無論如何,它需要編碼,靜態單元的目的是使用,而不需要編碼...我發佈了一個答案,可以讓你完成,而無需編碼。 – 2012-09-21 00:41:48