我需要將表格視圖的默認藍色選擇更改爲某種自定義顏色。有沒有辦法做到這一點。幫我需要更改表格視圖選擇的顏色
回答
做到這一點,最好的辦法是這樣的:
// Customize the appearance of table view cells.
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
static NSString *CellIdentifier = @"myCellId";
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
if (cell == nil) {
cell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier] autorelease];
UIView *v = [[[UIView alloc] init] autorelease];
v.backgroundColor = [UIColor redColor];
cell.selectedBackgroundView = v;
}
// Set up the cell...
cell.textLabel.text = @"foo";
return cell;
}
對您的相關部分是cell.selectedBackgroundView = v;
指令。 你可以在這裏用你喜歡的任何視圖替換非常基本的視圖'v'。
卓然,我已經驗證了這種方法適用於普通表格視圖,但它不適用於我的分組表格。任何解決方法?或者你可以證實這一點? – 2009-09-28 13:07:28
它不依賴於表視圖類型:我剛剛發現它可以在一些普通表上使用,並且不會在其他普通表上使用。他們都使用自定義表格單元格。 – 2009-09-28 13:22:23
這隻適用於普通表格視圖無模糊。對於分組表格視圖,實際需要4個視圖來選擇不同的背景;最頂層,最底層,在另外兩個單元之間,以及組中的單個單元。然後更新這些更改您在任何部分中更改行數的痛苦。在bugreport.apple.com上發佈功能請求,爲iPhone OS 4.0添加「selectedBackgroundGradient」屬性。 – PeyloW 2009-09-28 14:56:05
我不認爲你可以使用自定義顏色。但是,你可以使用的UITableViewCell
@property(nonatomic) UITableViewCellSelectionStyle selectionStyle
選擇的風格是backgroundView常數,確定細胞的顏色選擇,當它的下列財產。默認值是UITableViewCellSelectionStyleBlue。由於
typedef enum {
UITableViewCellSelectionStyleNone,
UITableViewCellSelectionStyleBlue,
UITableViewCellSelectionStyleGray
} UITableViewCellSelectionStyle;
您可以從默認的藍色切換到灰色,或根本沒有彩色選擇。
這樣做的另一種方法是在你的單元格中移動一個新的視圖,使用任何你想要的顏色和50%左右的不透明度。當您收到-setSelected:animated:call時,將此視圖移至單元格。當我說移動時,你實際上可以始終在單元格的頂部有一個視圖,但只需將隱藏位關閉並根據需要打開即可。
我也遇到過這個問題,試圖爲分組的單元格創建自定義的選定單元格視圖。我通過爲細胞頂部,中間和底部創建3種類型的圖像來解決這個問題,假設會有一箇中間細胞。
NSString *imageFile;
if (row == 0) {
imageFile = @"highlighted_cell_top.png";
} else if (row == ([registeredDetailsKeys count] - 1)) {
imageFile = @"highlighted_cell_bottom.png";
} else {
imageFile = @"highlighted_cell_middle.png";
}
UIImageView *imageView = [[UIImageView alloc] initWithImage:[UIImage imageNamed:imageFile]];
cell.selectedBackgroundView = imageView;
有可能是一種更簡單的方法,但我很滿意的結果。
據我所知,這正是要做到這一點。看到這個[教程](http://cocoawithlove.com/2009/04/easy-custom-uitableview-drawing.html)。你已經忘記了「top_bottom」的變化(當只有一個單元格時),就是這樣。 – Rich 2012-02-01 16:58:04
確保您在頭後聲明
@property(nonatomic) UITableViewCellSelectionStyle selectionStyle
實施
cell.selectionStyle = UITableViewCellSelectionStyleGray
其中UITableViewCellSelectionStyleGray
可以UITableViewCellSelectionStyleNone
,UITableViewCellSelectionStyleBlue
,UITableViewCellSelectionStyleGray
。
- 1. 更改選擇的視圖顏色
- 2. 更改表視圖的單元格選擇顏色
- 3. 更改靜態表格視圖中單元格的選擇顏色
- 4. 在列表視圖中更改選擇高亮顏色
- 5. 在Android中選擇列表視圖時更改背景顏色
- 6. 網格行顏色更改選擇
- 7. 更改NatTable單元格選擇顏色
- 8. 錶行選擇的顏色更改JavaFX
- 9. SlidingTabLayout更改顏色選擇圖標
- 10. 更改所選行標籤顏色選擇器視圖SWIFT 1.2
- 11. 更改列表視圖行的顏色
- 12. swt表更改選擇項目顏色
- 13. Laravel表::選擇更改背景顏色
- 14. 列表視圖中選擇項目改變顏色爲灰色
- 15. 如何動態更改表格視圖單元格的顏色
- 16. 更改表格視圖(tableview風格分組)的背景顏色?
- 17. 更改基於視圖的NSTableView的選擇顏色
- 18. 根據顏色選擇器更改圖像的顏色
- 19. 列表視圖選擇顏色
- 20. 保持列表視圖選擇顏色
- 21. 自定義表格視圖單元格選擇字體顏色
- 22. 更改懸停在Bootstrap中的表格和選擇顏色?
- 23. 使用顏色選擇器更改圖層樣式顏色
- 24. 更改視圖顏色基於另一個視圖的顏色
- 25. 更改表格顏色
- 26. 需要將星星顏色選擇爲
- 27. iOS Swift - 如何更改表格視圖的背景顏色?
- 28. 無法使用選擇器來更改表格行顏色
- 29. 如何更改之前選擇的列表視圖項目的背景顏色
- 30. 更改列表視圖中選中項目的文本顏色
我想你會得到更好的結果,如果你添加更多的驚歎號... – 2009-10-30 12:38:24