Xcode: UIButton setImage 不改变按钮的图片
Xcode: UIButton setImage does not change the image of the button
注意:其他人也提出了类似的问题,none 提供的答案解决了我的问题。
这是我的代码:
@IBOutlet var testButton:UIButton!
override func viewDidLoad() {
self.testButton.setImage(UIImage(named: "icn_checkbox_")?.imageWithColor(color: CMStyle.darkBlueColor), for: .normal)
self.testButton.setImage(UIImage(named: "icn_checked")?.imageWithColor(color: CMStyle.darkBlueColor), for: .selected)
}
@IBAction func testButtonAction(_ sender: Any) {
print("INSIDE testButtonAction")
self.testButton.isSelected = !self.testButton.isSelected
print("self.testButton.isSelected: ",self.testButton.isSelected)
}
这是按钮:
.
这些是按钮的特征:
.
这是 icn_checkbox_ 用于 .normal
状态的图像:
这是用于 .selected
状态的 icn_checked 图像:
testButtonAction
中的代码被执行。所以我真的不明白为什么图像不会改变(为什么按钮没有被选中)。
你可以使用这个:
@IBOutlet var testButton: UIButton!
override func viewDidLoad() {
self.testButton.setImage(UIImage(named: "icn_checkbox_")?.imageWithColor(color: CMStyle.darkBlueColor), for: .normal)
}
@IBAction func testButtonAction(_ sender: Any) {
print("INSIDE testButtonAction")
self.testButton.isSelected = !self.testButton.isSelected
if self.testButton.isSelected {
self.testButton.setImage(UIImage(named: "icn_checked")?.imageWithColor(color: CMStyle.darkBlueColor), for: .normal)
} else {
self.testButton.setImage(UIImage(named: "icn_checkbox_")?.imageWithColor(color: CMStyle.darkBlueColor), for: .normal)
}
}
您可以只在 Storyboard 中为按钮状态设置图像,其中 Default = .normal 和 Selected = .selected
选择选中的并在那里设置图像。如果您使用的是模板图像,则带颜色的图像类似于 tintColor
注意:其他人也提出了类似的问题,none 提供的答案解决了我的问题。
这是我的代码:
@IBOutlet var testButton:UIButton!
override func viewDidLoad() {
self.testButton.setImage(UIImage(named: "icn_checkbox_")?.imageWithColor(color: CMStyle.darkBlueColor), for: .normal)
self.testButton.setImage(UIImage(named: "icn_checked")?.imageWithColor(color: CMStyle.darkBlueColor), for: .selected)
}
@IBAction func testButtonAction(_ sender: Any) {
print("INSIDE testButtonAction")
self.testButton.isSelected = !self.testButton.isSelected
print("self.testButton.isSelected: ",self.testButton.isSelected)
}
这是按钮:
这些是按钮的特征:
这是 icn_checkbox_ 用于 .normal
状态的图像:
.selected
状态的 icn_checked 图像:
testButtonAction
中的代码被执行。所以我真的不明白为什么图像不会改变(为什么按钮没有被选中)。
你可以使用这个:
@IBOutlet var testButton: UIButton!
override func viewDidLoad() {
self.testButton.setImage(UIImage(named: "icn_checkbox_")?.imageWithColor(color: CMStyle.darkBlueColor), for: .normal)
}
@IBAction func testButtonAction(_ sender: Any) {
print("INSIDE testButtonAction")
self.testButton.isSelected = !self.testButton.isSelected
if self.testButton.isSelected {
self.testButton.setImage(UIImage(named: "icn_checked")?.imageWithColor(color: CMStyle.darkBlueColor), for: .normal)
} else {
self.testButton.setImage(UIImage(named: "icn_checkbox_")?.imageWithColor(color: CMStyle.darkBlueColor), for: .normal)
}
}
您可以只在 Storyboard 中为按钮状态设置图像,其中 Default = .normal 和 Selected = .selected
选择选中的并在那里设置图像。如果您使用的是模板图像,则带颜色的图像类似于 tintColor