这里真的需要一些帮助。我正在做一些非常基本的事情,我有UIButton
并将其图像设置为我创建的UIImage
。图像文件是PNG,具有透明背景和白色前景(实际图案)。但是,UIImage
似乎不起作用。以下是一些截图作为参考。
这就是我设置按钮的方式:
let exitButton = UIButton()
exitButton.setImage(UIImage(named: "success"), for: .normal)
exitButton.frame = CGRect(x: 0, y: 0, width: 56, height: 56)
exitButton.translatesAutoresizingMaskIntoConstraints = false
其他图像似乎有用..
这是我正在使用的图像,它不起作用 这是我测试的图像,它的工作原理
唯一的区别是前景色...
答案 0 :(得分:0)
模板图像(UIButton图像的默认模式)采用alpha并基本上将其余部分表示为有色蒙版。无论出于何种原因,白色在此过程中未得到正确处理。我想到的方式是你给按钮一个工作的面具,所以我给默认按钮的所有图像都是黑色的透明度。
但是,您可以继承UIButton并使用您想要的任何图像:
class buttonClose: UIButton {
required init?(coder aDecoder: NSCoder) {
super.init(coder: aDecoder)
if self.image(for: .normal) != nil {
let g:UIImage = UIImage(named: "close_button32")!.withRenderingMode(.alwaysOriginal)
let p:UIImage = UIImage(named: "close_button32highlighted")!.withRenderingMode(.alwaysOriginal)
self.setImage(g, for: .normal)
self.setImage(p, for: .selected)
self.backgroundColor = .red
}
}
}