【发布时间】:2018-12-11 18:32:00
【问题描述】:
我创建了一个自定义 UIButton 类,使其看起来像下拉选择。我在按钮右侧有一个小的向下箭头图像。我想根据各种条件将按钮的图像更改为不同的图像,例如灰色、白色或红色。怎么做?以下是我的代码:
class DropDownButton: UIButton {
let dropDownImageGrey = UIImage(named: "Icons/DropDown/Grey")
let dropDownImageWhite = UIImage(named: "Icons/DropDown/White")
let dropDownImageRed = UIImage(named: "Icons/DropDown/Red")
override init(frame: CGRect) {
super.init(frame: frame)
}
required init?(coder aDecoder: NSCoder) {
super.init(coder: aDecoder)
}
override func awakeFromNib() {
super.awakeFromNib()
self.imageEdgeInsets = UIEdgeInsets(top: 0, left: self.frame.width - 108, bottom: 0, right:0)
self.setImage(dropDownImageGrey, for: [])
self.titleEdgeInsets = UIEdgeInsets(top: 0, left: -13, bottom: 0, right:0)
}
}
override func viewDidLoad() {
// Change image to red one
dropDownButton.??? // How to change?
}
【问题讨论】:
-
dropDownButton.setImage(dropDownButton.dropDownImageRed, for: .normal)?但是你最好使用静态常量。 -
Tx,你的意思是图像常量吗,这些 => let dropDownImageGrey = UIImage(named: "Icons/DropDown/Grey") ?