更改 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 图像
无法更改 UITableViewCell 内 UIImageView 的宽度和高度 - swift
如何防止 uib-carousel 裁剪 uib-popover?