如何使用我自己的颜色组合更改 UITableViewCell 的背景颜色

Posted

技术标签:

【中文标题】如何使用我自己的颜色组合更改 UITableViewCell 的背景颜色【英文标题】:How to change background color of UITableViewCell using my own color combination 【发布时间】:2011-05-14 20:55:34 【问题描述】:

实际上,我发现了一些像我一样提出问题的线程。 但是这些线程中给出的每个解决方案都不能在我的代码中使用.. 我读到的最后一个链接是 How to customize the background color of a UITableViewCell?

我的问题是我只想用我自己的颜色更改我的 tableviewcell 背景颜色。 有人可以帮我吗?

【问题讨论】:

在 willDisplayCell:forRowAtIndexPath: 中显示您尝试过的代码(包括方法名称和参数的整个方法)。您使用的是 UITableViewCell 还是自定义子类? -(void)tableView:(UITableView )tableView wilLDisplayCell:(UITableViewCell *)cell forRowAtIndexPath:(NSIndexPath *)indexPath UIView backgroundView = [ [ [ UIView alloc ] initWithFrame :CGRectZero ] 自动释放 ]; backgroundView.backgroundColor = [ UIColor yellowColor ]; cell.backgroundView = 背景视图; for ( UIView* view in cell.contentView.subviews ) view.backgroundColor = [ UIColor clearColor ]; //cell.backgroundColor = [UIColor colorWithRed:0.2 green:0.2 blue:0.5 alpha:1]; 您的代码中有一个拼写错误应该是 willDisplayCell 但在您发布的代码中是 wilLDisplayCell 请检查... thx gyani....我没意识到...谢谢... :) 【参考方案1】:

怎么样:

[myCell setBackgroundColor:[UIColor colorWithRed:0.2 blue:0.5 green:0.2 alpha:1]];

您可以将其放置在表格视图的willDisplayCell:forRowAtIndexPath: 数据源方法中。或者你可以继承 UITableViewCell 并将其设置在你重写的初始化程序中。或者您可以从 XIB 加载单元格并使用 Interface Builder 设置颜色。

【讨论】:

这必须在 willDisplayCell:forRowAtIndexPath: 中完成。它在 cellForRowAtIndexPath 中不起作用。请参阅 UITableViewCell 的文档。 我是这样尝试的,抱歉没有在我的问题中声明它,但仍然没有显示背景颜色 它也没有显示,即使我把它移到 willDisplayCell:forRowAtIndexPath【参考方案2】:

试试这个..

cell.backGroundColor = [UIColor colorWithRed:190.0/255.0 blue:190.0/255.0 green:190.0/255.0 alpha:1.0];

将此代码写入 cellForRowAtIndexPath 函数。 你将简单地从 MS Paint 中获得这些不同的 RGB 组合,alpha 是介于0.01.0 之间的不透明度。

【讨论】:

【参考方案3】:

另一个帮助解决这个问题的链接...UITableViewCell color issues with custom table view background

【讨论】:

【参考方案4】:

最后我发现了如何解决这个问题。但我选择使用图像。我在另一个问题中声明了我的解决方法:is there somebody who made an application using background for tableview and tableviewcell?

【讨论】:

【参考方案5】:

iOS 7之前只需添加这个方法

- (void)tableView:(UITableView *)tableView willDisplayCell:(UITableViewCell *)cell forRowAtIndexPath:(NSIndexPath *)indexPath


       [cell setBackgroundColor:[UIColor colorWithRed:(221.0/255.0) green:(221.0/255.0) blue:(221.0/255.0) alpha:1.0]];


现在在 iOS 7 中,如果您将此代码放在 cellForRowAtIndexPath 中,它将起作用

[cell setBackgroundColor:[UIColor colorWithRed:(221.0/255.0) green:(221.0/255.0) blue:(221.0/255.0) alpha:1.0]];

【讨论】:

以上是关于如何使用我自己的颜色组合更改 UITableViewCell 的背景颜色的主要内容,如果未能解决你的问题,请参考以下文章

值更改时更改颜色组合框

更改组合框的背景颜色,它根本不改变颜色

如何在 Netbeans IDE 8.2 中更改评论颜色?

如何在不绘制我自己的情况下更改 UIPopoverPresentationController 箭头颜色

如何更改 CTabCtrl 选项卡颜色?

在 MFC 中更改组合框的项目背景颜色?