【问题标题】:How do i set up a label so that when a button is pressed then it will change that value displayed on the label如何设置标签,以便在按下按钮时会更改标签上显示的值
【发布时间】:2017-03-21 12:59:15
【问题描述】:

我如何设置标签,以便当按下按钮时,它将更改标签上显示的值并设置为每次按下按钮时它们都将添加到之前的数字按下 - 是否可以在同一个视图控制器上设置 2 个视图场景?

    @IBOutlet weak var creditLabel: UILabel!

    var savedNum:Int = "Credits: /0"

    var Money : Int!

    override func viewDidLoad() {
        super.viewDidLoad()
        // Do any additional setup after loading the view, typically from a nib.
    }

    override func didReceiveMemoryWarning() {
        super.didReceiveMemoryWarning()
        // Dispose of any resources that can be recreated.
    }




    @IBAction func oneDollar(_ sender: Any) {
        let oneDollar = 1
    }

    @IBAction func fiveDollars(_ sender: Any) {
        let fiveDollars = 5
    }

    @IBAction func tenDollars(_ sender: Any) {
        let tenDollars = 10
    }
    @IBAction func twentyDollars(_ sender: Any) {
        let twentyDollars = 20
    }
    @IBAction func fiftyDollars(_ sender: Any) {
        let fiftyDollars = 50
    }
    @IBAction func oneHundredDollars(_ sender: Any) {
        let oneHundredDollars = 110
    }

}

【问题讨论】:

  • 不清楚您要实现什么 - 看起来您已经连接了 6 个按钮 - 您要在哪里更新标签?
  • 在你们每个 IBActions 中,增加钱:money += 5,然后用新数字更新标签:creditLabel.text = "Credits: \(money)"
  • 这无法编译 - var savedNum:Int = "Credits: /0"。不要显示不必要的代码(例如didReceiveMemoryWarning)。 var userName: UILabel 与您的问题有什么关系?请更新您的问题以显示有效的相关代码。请阅读How to Ask
  • 谢谢 - IBAction 也会这样看@IBAction func oneDollar(_ sender: Any) { money += 1}

标签: ios swift xcode uibutton uilabel


【解决方案1】:

我认为你正在尝试做的是这样的事情......

class ViewController: UIViewController {

    @IBOutlet weak var creditLabel: UILabel!

    var credit = 0 {
       didSet {
           creditLabel.text = "Credit: $\(credit)"
       }
    }

    override func viewDidLoad() {
        super.viewDidLoad()

        credit = 0
    }


    @IBAction func oneDollar(_ sender: Any) {
        credit += 1
    }

    @IBAction func fiveDollars(_ sender: Any) {
        credit += 5
    }

    // etc
}

【讨论】:

  • 谢谢我收到一条错误消息“线程 1:此行上的信号 SIGABRT:class AppDelegate: UIResponder, UIApplicationDelegate {
【解决方案2】:

您的标签是否连接到您的 UIViewController?对应的动作呢?您是否将相同的操作连接到相同的按钮?需要更多信息来帮助解决您抛出的错误。

【讨论】:

  • 如果您需要 OP 的说明,请添加作为问题的评论,而不是作为答案。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2017-12-28
  • 1970-01-01
  • 2019-11-24
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-04-16
相关资源
最近更新 更多