如何在不刷新(?)屏幕的情况下更新分数UILabel?

时间:2019-12-22 23:06:01

标签: ios swift xcode uikit uilabel

(我最近开始从事iOS应用开发和开发工作,所以我是一个真正的业余爱好者) 我的问题是关于快速,因为我想更新火箭命中恒星时的得分,并且希望每次迭代都更新恒星的y位置(varY)。现在,我可以更新得分或y位置,但不能同时更新两者,并且我认为这与playerScore.text = String(playerScored)行(第56行)每次更新/刷新屏幕有关。星被击中。谁能解释为什么会发生这种情况以及我该如何解决?

    var varY = CGFloat.random(in: 2...200)
    var frm: CGRect = Rocket.frame
    var frmS: CGRect = Star.frame
    if frm.origin.y < frmS.origin.y {
        frmS.origin.y = -10
        print(frmS.origin.y)
        if frmS.origin.y == -10 {
            point()
        }
        Rocket.frame.origin.y = 330
        if frmS.origin.y > 314 {
            frmS.origin.y -= varY
        } else if varY < 314 {
            frmS.origin.y += varY
        }
        Star.frame.origin.y = frmS.origin.y
    }
    func point() {
        playerScored += 1
        playerScore.text = String(playerScored)
    }
    @IBAction func FireUp(_ sender: UIButton) {
        up()
    }

0 个答案:

没有答案