首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Tip计算器- Swift

Tip计算器- Swift
EN

Stack Overflow用户
提问于 2016-10-15 02:43:02
回答 1查看 1.3K关注 0票数 1

我刚从斯威夫特开始,想做个小费计算器。但我遇到了一些问题,希望有人能给我指明正确的方向。在getBillAmt函数中,我的总计没有更新/显示,它只显示了我尝试过的几个不同的选项,以获得要更新的总数,但无法得到它。我最近在下面的尝试。

在我以前的尝试中,我的问题无法将Int转换为浮动。

变量,

var tipPercentAmt = Int()

var billAmt = Float() //bill before tip

var total = Float()

滑块,用户可以滑动到小费量(作为int)。

代码语言:javascript
复制
@IBAction func tipAmtVal(sender: UISlider) {
    let tipPercentAmt = Int(sender.value)
}

然后,从用户那里,从文本字段(作为浮动)获取账单金额,然后将提示添加到其中,在标签中显示总金额。

代码语言:javascript
复制
@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
}
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-10-15 02:54:55

没有实际调用getBillAmt函数的设置。假设您的文本字段使用其委托正确设置,则将调用textFieldShouldReturn函数,仅此而已。

你需要从那里打电话给你的getBillAmount

代码语言:javascript
复制
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
}

正如你所看到的,我也做了一些其他的修正。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/40054401

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档