使用Swift 2和XCode 7.2.1,有没有办法将所有UI元素(按钮和标签)连接到一个插座?我觉得这可以通过在所有元素上执行CMD-A然后控制拖动到您的代码来完成,但这只会将其中一个选定的元素连接到插座。
答案 0 :(得分:7)
你不能这样做。
可以连接多个UI元素的唯一内容是操作或插座集合。
重要的是,插座是对单个对象的单个引用:
@IBOutlet weak var label: UILabel!
就像任何其他变量一样,它不能同时是两件或更多件事。它只能是一件事。如果我将另一件东西挂在这个插座上,它会解开以前连接到它的任何东西。
但是,我可以制作插座集合:
@IBOutlet strong var labels: [UILabel]!
我不相信有一个捷径可以同时连接多个元素,但你可以连接多个元素(虽然它一次一个)。
重要的是要注意,默认情况下,Xcode会将插座集合创建为您拖入的确切类型,并且您只能添加该类型的元素或其子类输入集合。
但是,您可以手动将类型更改为更广泛的类型,从而将更多内容联系起来:
@IBOutlet strong var labels: [UIView]!
同样,只要方法的接口有意义,不同类型的多个对象就可以连接到@IBAction
:
@IBAction func action(sender: AnyObject) {
// write code to handle action here
}