我有一个10个问题的系列,人们可以通过按下按钮来回答(3个选择)。我想在第二个VC滚动浏览测试时更改它们的标签。

到目前为止,我已经在第一个VC中设置了按钮,这是我不知道要编写什么代码来更改第二个VC中的标签的地方:

@IBAction func levreun(_ sender: Any) {
    levrescore = 1
    print(levrescore, "sèches, gercées ou rouges")
} 


(正在打印的是我要发送到第二个VC上的标签的内容)

这就是我在第二个VC中将标签准备为String的方式:

@IBOutlet var LevreResultText: String!

override func viewDidLoad() {
    super.viewDidLoad()
    LevreResultText.text = LevreResultText
}


编辑:请注意,在此人在测试结束时按COMPLETE之前,我不希望执行segue。因此,在回答10个问题时,标签必须更改!

最佳答案

您可以在Second VC中使静态字符串变量。
当您在第一个VC中点击按钮时,可以更改静态变量的变量。

并且在Second VC的ViewDidLoad函数中,您可以将标签文本更改为静态变量。

第一创投

@IBAction func levreun(_ sender: Any) {

    levrescore = 1
    print(levrescore, "sèches, gercées ou rouges")

    SecondVC.staticLabelText = "sèches, gercées ou rouges"
}


第二创投

static var staticLabelText = ""
@IBOutlet var LevreResultText: String!

override func viewDidLoad() {
    super.viewDidLoad()

    LevreResult.text =
    SecondVC.staticLabelText
}

关于ios - 在没有Segue的情况下单击第一个ViewController的按钮时更改第二个ViewController的标签文本,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/48332587/

10-09 06:45