根据布尔值更改按钮图像

Posted

技术标签:

【中文标题】根据布尔值更改按钮图像【英文标题】:Change button image dependant on boolean 【发布时间】:2018-02-12 05:31:23 【问题描述】:

我在 TableView 的原型单元格上有一个按钮,我要做的是根据该单元格的属性为 True 或 False 来更改按钮的图像。所以,在加载单元格时,如果 this.value = True,则将 image 设置为 X,否则将 image 设置为 Y。

但是,每次单元格最初加载时,它只是将按钮显示为来自 IB 的默认图像。如何让它加载正确的图像?

bool paid = [cellArray[indexPath.row] paid];
if (paid == TRUE) 
    [row.btnPaidUnpaid setImage:[UIImage imageNamed:kCommonRadioActiveImage] forState:UIControlStateNormal];
 else if (paid == FALSE) 
    [row.btnPaidUnpaid setImage:[UIImage imageNamed:kCommonRadioInActiveImage] forState:UIControlStateNormal];

【问题讨论】:

显示你的 cellForRow 方法代码 【参考方案1】:

您可以为按钮的默认选中状态设置不同的图像。 您可以通过情节提要或以编程方式实现此目的。

现在根据您的布尔值将按钮的状态更改为默认或选中 - 您的图像将自动更改。

myButton.selected = true/false

myButton.setImage(UIImage(named : "unselectedImage"), for: UIControlState.normal)
myButton.setImage(UIImage(named : "selectedImage"), for: UIControlState.selected)

【讨论】:

以上是关于根据布尔值更改按钮图像的主要内容,如果未能解决你的问题,请参考以下文章

更改布尔值时无法在 SwiftUI 中更改按钮文本

javafx - 根据布尔值绑定按钮

如何从html按钮更改JavaScript布尔值?

根据布尔值更改 Xamarin 表单标签的文本

如何根据布尔值 (SwiftUI) 更改对象的绑定源?

在 React.js 中使用 handleClick 更改布尔值 [重复]