快速将所有UI元素一次连接到一个插座

时间:2016-03-18 18:31:50

标签: ios xcode

使用Swift 2和XCode 7.2.1,有没有办法将所有UI元素(按钮和标签)连接到一个插座?我觉得这可以通过在所有元素上执行CMD-A然后控制拖动到您的代码来完成,但这只会将其中一个选定的元素连接到插座。

1 个答案:

答案 0 :(得分:7)

你不能这样做。

可以连接多个UI元素的唯一内容是操作或插座集合。

重要的是,插座是对单个对象的单个引用:

@IBOutlet weak var label: UILabel!

就像任何其他变量一样,它不能同时是两件或更多件事。它只能是一件事。如果我将另一件东西挂在这个插座上,它会解开以前连接到它的任何东西。

但是,我可以制作插座集合:

enter image description here

@IBOutlet strong var labels: [UILabel]!

我不相信有一个捷径可以同时连接多个元素,但你可以连接多个元素(虽然它一次一个)。

重要的是要注意,默认情况下,Xcode会将插座集合创建为您拖入的确切类型,并且您只能添加该类型的元素或其子类输入集合。

但是,您可以手动将类型更改为更广泛的类型,从而将更多内容联系起来:

@IBOutlet strong var labels: [UIView]!

enter image description here

enter image description here

同样,只要方法的接口有意义,不同类型的多个对象就可以连接到@IBAction

@IBAction func action(sender: AnyObject) {
    // write code to handle action here
}

enter image description here