Ios 如何从变量定义UILabel中的文本敏捷的
我对编程基本上是新手,想知道如何做到这一点。我正在制作一个简单的应用程序,其中我需要跟踪分数并相应地更新Ios 如何从变量定义UILabel中的文本敏捷的,ios,swift,Ios,Swift,我对编程基本上是新手,想知道如何做到这一点。我正在制作一个简单的应用程序,其中我需要跟踪分数并相应地更新UILabel。标签名为“分数”。当用户按下ui按钮时,我需要它增加1。这是否涉及创建新的.swift文件?记住,我是一个完全的新手 不需要新的swift文件,在具有UILabel的viewcontroller中,为分数定义一个变量 var scoreValue = 0 //define in the class, next to your score label probably 然后,当
UILabel
。标签名为“分数”。当用户按下ui按钮时,我需要它增加1。这是否涉及创建新的.swift文件?记住,我是一个完全的新手 不需要新的swift文件,在具有UILabel的viewcontroller中,为分数定义一个变量
var scoreValue = 0 //define in the class, next to your score label probably
然后,当您需要更新标签时,在按下按钮时调用的某个函数中,执行如下操作
scoreValue += 1 //increase scoreValue by 1
score.text = "Score: \(scoreValue)" //labels text will look like "score: 1"
不,您不必创建任何新的.swift文件。下面的代码将解释如何做,并尝试添加相关的代码
var score = 0 //declare in class level
//按钮点击动作
@IBAction func ButtonClick(sender: AnyObject) {
score+= 1
scoreLabel.text = "Score : \(score)" //this will display the score increased by 1.
}
首先,在标签上添加一个IBOutlet,在按钮上添加一个iAction
您可以在下拉菜单中选择是出口还是动作。接下来,在iAction函数中更新标签
我希望这能帮助你开始
哦,欢迎来到编程!:) 所以这里的目标是用一个增加标签上显示值的事件来响应“动作”。所以我们需要把它分解成几个不同的部分
我们需要有活动/行动
我们需要增加某种计数器
我们需要用计数器的值更新标签值
对于第1个问题,您需要研究在Xcode中的“Interface Builder”中创建一个“”。您还需要使用类似的方法将标签设置为“”。我们将把标签称为“lblScore”
对于第二个,您需要声明一个可容纳计数器的。我们将此变量称为“count”,以便:
现在,您需要在第1项中设置的操作中添加递增计数器。您可以通过以下方式使用Swift完成此操作:
count += 1
这将在当前计数值上加1。现在,您需要做的就是更新标签的值,使其成为“count”的当前值
但是等等,“count”的值是一个“int”,UILabel的“text”属性是一个“string”!这意味着您需要将值“”设置为字符串。在同样的情况下,您将执行以下操作:
lblScore.text = String(count)
综上所述,它看起来像:
class ViewController: UIViewController {
@IBOutlet weak var lblScore: UILabel!
var count = 0;
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view, typically from a nib.
}
@IBAction func addScore(sender: AnyObject) {
count += 1
lblScore.text = String(count)
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
// Dispose of any resources that can be recreated.
}
}
我希望这有帮助 顺便说一句,您可以从Storyboard控件创建IBOutlet/iAction,并将其拖动到您的类中!如果按钮和标签位于不同的视图控制器(ViewControllerA和ViewControllerB)上,如何执行此操作?我是否需要在此处有多个.swift文件(ViewControllerA.swift和ViewControllerB.swift)?因为当标签不在同一视图控制器上时,它不允许我为标签创建出口。@AidanHouston是的,@IBOutlet
只能连接到接口生成器中与UIViewController
关联的类文件。可以使用序列图像板文件中的标识检查器更改视图控制器的类。
class ViewController: UIViewController {
@IBOutlet weak var lblScore: UILabel!
var count = 0;
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view, typically from a nib.
}
@IBAction func addScore(sender: AnyObject) {
count += 1
lblScore.text = String(count)
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
// Dispose of any resources that can be recreated.
}
}