更改 UITableViewCell 内的 UIbutton 颜色

Posted

技术标签:

【中文标题】更改 UITableViewCell 内的 UIbutton 颜色【英文标题】:change UIbutton color inside UITableViewCell 【发布时间】:2010-02-04 22:03:49 【问题描述】:

我有一个简单的问题……但它变成了一个非常困难的问题……我在 uitableviewcell 中有一个按钮,想通过代码更改它的颜色……我可以通过更改其背景图像来实现它。但它有点朦胧......它不是纯色......当我使用 [cell.button setBackgroundColor:[UIcolor redColor]] ......按钮颜色不会改变......

任何帮助表示赞赏

谢谢

【问题讨论】:

【参考方案1】:

我不确定你是如何做到这一点的,但如果可能的话,你为什么不继续参考这个按钮。

您可以对其进行初始化,将其插入您的表格中,并且在您需要更改某些内容时,您可以使用已初始化的变量。


// On your .h
UIButton *myButton;

// On your .m
// Initialize it.


// when displaying cells
cell.button = myButton;


// when you need to change the color use your myButton reference
myButton.backgroundColor = ...... 

干杯, VFN

【讨论】:

嘿,谢谢......有人指出...... UIButton 是从 UIView 继承的......所以背景属性属于 UIView 并且不会改变颜色......当我在做 cell.button ..然后按钮是UIButton IBOutlet 到xib 上的真正按钮还有其他想法吗? 嗨。因此,按钮将继承 UIView BG,因为您正在清除背景颜色。如果你想改变不同于 UIView BG 的颜色,你需要设置一些颜色。【参考方案2】:

如果您有背景图片(如果我弄错了请纠正我),那么在不更改背景图片的情况下就没有机会更改背景颜色(或者,至少可以看到此更改)...

如果您没有 BG 图像,那么它应该可以工作...

你在哪里改变颜色? 在tableView:cellForRowAtIndexPath: 里面还是有对按钮的引用?

更新:

没有注意到[cell.button。 什么是cell

【讨论】:

嘿,谢谢...单元格是我在 cellForRowAtIndexPath 方法中创建并返回的 UITableViewCell 实例,并且按钮是 xib 上圆形按钮的 IBOutlet 如果我使用图像.. 我确实得到绿色和红色按钮。 ..但它不是真正的颜色......它非常非常朦胧..有人指出.. UIButton是从UIView继承的......所以背景属性属于UIView并且不会改变颜色.. . 还有其他想法吗? 现在我想我理解你的问题了。如我错了请纠正我。你有一个圆形矩形按钮,你想改变它的背景颜色,所以按钮仍然有透明的圆角。如果是这种情况,那么我建议您切换图像。我不认为有一个真正的应用程序使用圆形矩形按钮,而不是一个带有图像的自定义应用程序......【参考方案3】:

实际上更改背景颜色会稍微改变按钮的角,但您可能不会注意到它,因为圆角矩形按钮只要不透明就会阻挡其背景。

我相信你想要做的是改变色调。

试试

 [cell.button setTintColor:[UIcolor redColor]];

我想它应该可以工作。

【讨论】:

以上是关于更改 UITableViewCell 内的 UIbutton 颜色的主要内容,如果未能解决你的问题,请参考以下文章

无法更改 UITableViewCell 内的 UIButton 图像

月份更改时的 uib-datepicker 警报

无法更改 UITableViewCell 内 UIImageView 的宽度和高度 - swift

如何防止 uib-carousel 裁剪 uib-popover?

搜索中的第一个 UITableViewCell UIButton 保持不变

UITableViewCell 内的 UIImageView