我做错了我但是我不确定如何得到它我真的可以使用一些帮助。我有3个滑块(我可能需要更多以后),基本上它们的价值是1-10,对于评级系统,我希望它们平均得到平均分数..所以这就是我所拥有的
@IBOutlet weak var speed: UISlider!
@IBAction func speedChange(sender: AnyObject) {
let speedValue = speed.value
}
@IBOutlet weak var body: UISlider!
@IBAction func bodyChange(sender: AnyObject) {
let bodyValue = body.value
}
@IBOutlet weak var details: UISlider!
@IBAction func detailsChange(sender: AnyObject) {
let detailsValue = details.value
}
@IBOutlet weak var score: UILabel!
func final() {
var thescore = (speed.value + body.value + details.value) / 3
score.text = "\(thescore)"
}
唯一的问题是它不起作用。 +错误输出,所以我需要解决这个问题,但即便如此,我仍然认为我的方法完全没有了。
答案 0 :(得分:0)
它对我有用。您确定故事板中的插座是否与您的控制器相关联? 此外,您可能希望每次滑块更改其值时调用函数final,如下所示:
@IBOutlet weak var sliderA: UISlider!
@IBAction func sliderAchanged(sender: AnyObject) {
fonction()
}
@IBOutlet weak var sliderB: UISlider!
@IBAction func sliderBchanged(sender: AnyObject) {
fonction()
}
@IBOutlet weak var sliderC: UISlider!
@IBAction func sliderCchanged(sender: AnyObject) {
fonction()
}
@IBOutlet weak var label: UILabel!
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view, typically from a nib.
fonction()
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
// Dispose of any resources that can be recreated.
}
func fonction() {
var thescore = (sliderA.value + sliderB.value + sliderC.value ) / 3
label.text = "\(thescore)"
}
我在viewDidLoad方法中添加了对函数的调用,以初始化标签的文本。