我刚从斯威夫特开始,想做个小费计算器。但我遇到了一些问题,希望有人能给我指明正确的方向。在getBillAmt函数中,我的总计没有更新/显示,它只显示了我尝试过的几个不同的选项,以获得要更新的总数,但无法得到它。我最近在下面的尝试。
在我以前的尝试中,我的问题无法将Int转换为浮动。
变量,
var tipPercentAmt = Int()
var billAmt = Float() //bill before tip
var total = Float()
滑块,用户可以滑动到小费量(作为int)。
@IBAction func tipAmtVal(sender: UISlider) {
let tipPercentAmt = Int(sender.value)
}然后,从用户那里,从文本字段(作为浮动)获取账单金额,然后将提示添加到其中,在标签中显示总金额。
@IBAction func getBillAmt(sender: UITextField) {
let billAmt = Float(billAmtText.text!)
let total = billAmt! + (Float(tipPercentAmt / 100)
tipAmtLabel.text = "\(total)"
}
//cause labels to update when user hits return
func textFieldShouldReturn(textField: UITextField) -> Bool {
textField.resignFirstResponder()
return true
}发布于 2016-10-15 02:54:55
没有实际调用getBillAmt函数的设置。假设您的文本字段使用其委托正确设置,则将调用textFieldShouldReturn函数,仅此而已。
你需要从那里打电话给你的getBillAmount。
func getBillAmt(textField: UITextField) {
if let text = textField.text {
if let billAmt = Float(text) {
let total = billAmt + (Float(tipPercentAmt / 100)
tipAmtLabel.text = "\(total)"
}
}
}
//cause labels to update when user hits return
func textFieldShouldReturn(textField: UITextField) -> Bool {
textField.resignFirstResponder()
getBillAmt(textField: textField)
return false
}正如你所看到的,我也做了一些其他的修正。
https://stackoverflow.com/questions/40054401
复制相似问题