在Swift中实现UIButtons进行选择

问题描述:

我是iOS新手,我正在开发一个消防安全应用程序。我想给用户3种风险级别的选项:低,中,高使用(我想)3个UIButtons,用户可以点击,以及他们点击哪一个会变成某种颜色。在Swift中实现UIButtons进行选择

我已经设法得到3个UIButtons的工作,他们可以改变颜色时点击,但如果我点击另一个我不能让前一个按钮改回来,我已经很难得到他们的价值(For例如,当在用户按下低我会用计算数字2)

为了证明这一点,我做了一个快速图纸提交: Button Example

感谢您的帮助:)

====编辑====

我现在正在使用分段控件而不是UIButtons来执行此操作。但我需要知道如何在if语句

@IBOutlet var RiskChoice: UISegmentedControl! 
@IBOutlet var ValueLabel: UILabel! 
@IBOutlet var CalcButton: UIButton! 

@IBAction func Calculate(sender: UIButton) { 

if (RiskChoice.selectedSegmentIndex == 0){ 
    ValueLabel.text = String("Low") 
} 

没有出现在我已经设置了标签使用他们..有人能告诉我吗?

+2

请发表您已经 –

+1

代码。如果你没有,你可以使用任何限制[分段控制(https://developer.apple.com/library/prerelease/content/documentation/UserExperience/Conceptual /UIKitUICatalog/UISegmentedControl.html)...否则给一些代码你已经尝试过 –

+0

如果你显示你尝试过的代码会更好,因为有很多方法可以做到这一点! –

当轻按任意按钮时,您可以将所有3个按钮重置为其默认状态,然后突出显示当前按钮。

@IBAction func buttonClicked(sender: UIButton) { 

/** Reset all button to default state*/ 
resetAllButtons() 

/** Highlight current button */ 
sender.backgroundColor = UIColor.redColor() 
sender.titleColor = UIColor.whiteColor() 
} 


private func resetAllButtons() { 

button1.backgroundColor = UIColor.clearColor() 
button1.titleColor = UIColor.blackColor() /// Or use this : button1.setTitleColor(UIColor.blackColor, forState: .Normal) 

button2.backgroundColor = UIColor.clearColor() 
button2.titleColor = UIColor.blackColor() 

button3.backgroundColor = UIColor.clearColor() 
button3.titleColor = UIColor.blackColor() 
} 
+0

这就是答案 – WMios