将Swift代码挂钩到故事板时,如何添加IBAction
和IBOutlet
代码?
答案 0 :(得分:31)
将IBAction
和IBOutlet
属性添加到变量和函数中,以便它们可以在“界面”构建器中显示。
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
}