我希望有3个If / Else If语句根据收到的值更改背景颜色。我的代码到目前为止:
/////Activity Response Selection/////
@IBAction func ActivityAction(sender: AnyObject) {
if(ActivitySeg.selectedSegmentIndex == 0)
{
ActivityVal.text = "Absent"
ActivityNum.text = "0"
}
else if(ActivitySeg.selectedSegmentIndex == 1)
{
ActivityVal.text = "Arms/Legs Flexed"
ActivityNum.text = "1"
}
else if(ActivitySeg.selectedSegmentIndex == 2)
{
ActivityVal.text = "Active Movement"
ActivityNum.text = "2"
}
let ActivityIn = Double(ActivityNum.text!)
let PulseIn = Double(PulseNum.text!)
let GrimIn = Double(GrimNum.text!)
let AppIn = Double(AppNum.text!)
let RespIn = Double(RespNum.text!)
let product = ActivityIn! + PulseIn! + GrimIn! + AppIn! + RespIn!
TotalVal.text = "\(product)"
TotalVal.text = NSString(format: "APGAR Score: %2.0f", product)as String
if product >= 7.0 {
TotalVal.backgroundColor = UIColor.greenColor()
}
else if product <= 6.0{
TotalVal.backgroundColor = UIColor.yellowColor()
}
else if product <= 3.0 {
TotalVal.backgroundColor = UIColor.redColor()
}
}
我有任何大于/等于7的值是免费的。 等于/小于6是黄色背景。 等于/小于3是红色背景。
我的问题在于应用程序只会使用绿色和黄色,完全忽略红色。我怎样才能激活红色?
答案 0 :(得分:3)
问题是你的最后一个if语句。
你的红色(&lt; = 3)也会小于6,所以所有红色的红色都将在第一个被捕获,如果从未进入第二个。
要纠正它,你可以简单地交换两个其他的括号。先检查红色,然后再检查黄色。
或者为了保持一致性,请将其更改为:
if product >= 7.0 {
TotalVal.backgroundColor = UIColor.greenColor()
} else if product > 3.0 {
TotalVal.backgroundColor = UIColor.yellowColor()
} else {
TotalVal.backgroundColor = UIColor.redColor()
}
检查相同的不等号以避免这种错误总是一个好主意。