如果否则不允许颜色变化?
If Else not allowing color change?
我想要 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()
}
}
凡我有任何价值 greater/equal 到 7 为免费。
Equal/Less比6是黄底。
Equal/Less比3是红色背景。
我的问题是应用程序只会使用绿色和黄色,完全忽略红色。如何激活红色?
问题是你最后一个 else if 语句。
你的红色 (<= 3) 也将小于 6,所以所有红色的都会被第一个 else if 捕获,永远不会进入第二个。
要更正它,您可以简单地交换两个 else if 括号。先检查红色,再检查黄色。
或者为了保持一致性,将其更改为:
if product >= 7.0 {
TotalVal.backgroundColor = UIColor.greenColor()
} else if product > 3.0 {
TotalVal.backgroundColor = UIColor.yellowColor()
} else {
TotalVal.backgroundColor = UIColor.redColor()
}
检查相同的不等号以避免此类错误总是一个好主意。
我想要 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()
}
}
凡我有任何价值 greater/equal 到 7 为免费。 Equal/Less比6是黄底。 Equal/Less比3是红色背景。
我的问题是应用程序只会使用绿色和黄色,完全忽略红色。如何激活红色?
问题是你最后一个 else if 语句。
你的红色 (<= 3) 也将小于 6,所以所有红色的都会被第一个 else if 捕获,永远不会进入第二个。
要更正它,您可以简单地交换两个 else if 括号。先检查红色,再检查黄色。
或者为了保持一致性,将其更改为:
if product >= 7.0 {
TotalVal.backgroundColor = UIColor.greenColor()
} else if product > 3.0 {
TotalVal.backgroundColor = UIColor.yellowColor()
} else {
TotalVal.backgroundColor = UIColor.redColor()
}
检查相同的不等号以避免此类错误总是一个好主意。