如何在Swift中使用Interface builder?

时间:2014-06-03 10:56:44

标签: interface-builder xcode-storyboard swift

将Swift代码挂钩到故事板时,如何添加IBActionIBOutlet代码?

5 个答案:

答案 0 :(得分:31)

IBActionIBOutlet属性添加到变量和函数中,以便它们可以在“界面”构建器中显示。

class ViewController: UIViewController {

    @IBOutlet var label: UILabel?

    @IBAction func doTap(x:UIButton) {
        println("Tapped: \(x)")
    }
}

答案 1 :(得分:4)

下面的代码显示了Swift中的IBOutlet和IBAction格式:

class MyViewController: UIViewController {

  @IBOutlet weak var btnSomeButton: UIButton?
  @IBOutlet weak var lblLabelItem: UILabel?

  @IBAction func btnSomeButtonClicked(sender: UIButton) {
    ...
  }
}

您可以像在Objective-C中那样绑定它们。

答案 2 :(得分:3)

只需使用在Xcode5中流行的旧的ctrl +拖动技术,一切正常。

答案 3 :(得分:3)

我赞同Jayprakash而不是赞成的第一个答案。我唯一要纠正的是IBOutlets的标记是用!隐式展开的。第一个答案过去是正确的,但是在Swift中进行了一些更改以及它在最新版本中如何与IB交互。在Swift中,IBOutlets不再具有任何隐含行为或魔法 - 它们只是IB的注释。截至本回复日期,以下代码是正确的:

// How to specify an the equivalent of IBOutletCollection in Swift
@IBOutlet var fields: [UITextField]!
// How to specify a standard IBOutlet
@IBOutlet weak var button: UIButton!
// How to specify an IBAction
@IBAction func buttonWasPressed(sender: UIButton) { ... } 

答案 4 :(得分:1)

在创建项目时,您应该选择了故事板,以便可以直接在故事板中添加IBOutlet

以下代码可让您了解如何将IBOutlet添加到UILabel

class ViewController: UIViewController {

    @IBOutlet var label : UILabel

}
相关问题