2

我有两种看法。第一个是“homeView”,第二个是“detailView”。

在 homeView 我有两个按钮 button1 button2

详细查看我在标签 label1 上

当我按下 button1 时,应更改为“detailView”,label1.text 应为“button 1 gedrückt”,当我按下 button2 时,应更改为“detailView”,label1.text 应为“button 2 gedrückt”

当我使用代码时:

@IBOutlet weak var label1: UILabel!
@IBOutlet weak var label2: UILabel!

@IBAction func button1(sender: UIButton) {

    let vc : AnyObject! = self.storyboard!.instantiateViewControllerWithIdentifier("detailview")
    self.showViewController(vc as! UIViewController, sender: vc)


    // self.label1.text = "button 1 gedrückt"

}

视图会改变,但 label1.text 不会改变。如果我使用

@IBOutlet weak var label1: UILabel!
@IBOutlet weak var label2: UILabel!

@IBAction func button1(sender: UIButton) {

    let vc : AnyObject! = self.storyboard!.instantiateViewControllerWithIdentifier("detailview")
    self.showViewController(vc as! UIViewController, sender: vc)


    self.label1.text = "button 1 gedrückt"

}

我会得到一个错误: 在此处输入图像描述

我不知道我能做什么??

4

2 回答 2

3

确保您的标签已连接到您的插座或是否重复。如果没问题,请尝试删除连接并重新连接。下图说明了我在说什么。

在此处输入图像描述

于 2015-09-16T20:48:54.740 回答
0

也谢谢大家。现在我可以使用此代码更改 label1 中的文本

override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject!) {
    if (segue.identifier == "segueTest") {
        let svc = segue.destinationViewController as! SecondViewController;

        svc.toPass = label2.text

    }
}

现在还有一个问题?我可以把这个“覆盖函数”放到 IBAction 中吗?因为我想添加更多按钮。对于每个按钮,label1 中都应该有另一个文本。

谢谢(我是 Xcode 和 swift 的绝对初学者)

于 2015-09-17T17:05:55.483 回答