我需要比较UIImage的宽度和高度,当宽度大于高度时,我会添加边框。下面是我在可可触摸类上的代码
override func viewDidLoad() {
let x = p2Image.image?.size.width
let y = p2Image.image?.size.height
if x > y{
p2Border.backgroundColor = UIColor.black
}else{
p2Border.backgroundColor = UIColor.clear
}
}
提示错误二进制运算符>不能申请两个CGFloats操作数,请帮帮我..
答案 0 :(得分:3)
由于可选链接,您的x
和y
是可选项,因此您需要打开它们。 可选绑定是一种安全的方法:
override func viewDidLoad() {
if let x = p2Image.image?.size.width,
let y = p2Image.image?.size.height {
if x > y {
p2Border.backgroundColor = .black
} else {
p2Border.backgroundColor = .clear
}
}
}
如果p2Image.image
为nil
,则会安全无效。
如果您想在.clear
p2Image.image
时分配nil
,那么您可以将可选绑定与x > y
比较结合起来,就像这样:
override func viewDidLoad() {
if let x = p2Image.image?.size.width,
let y = p2Image.image?.size.height,
x > y {
p2Border.backgroundColor = .black
} else {
p2Border.backgroundColor = .clear
}
}