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

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

任何帮助表示赞赏

谢谢

【问题讨论】:

    标签: iphone cocoa-touch uitableview uibutton


    【解决方案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]];
    

    我想它应该可以工作。

    【讨论】:

      猜你喜欢
      • 2016-09-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-07-15
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多