2016-03-18 4 views
4

Gibt es mit Swift 2 und XCode 7.2.1 eine Möglichkeit, alle UI-Elemente (Schaltflächen und Labels) an eine Steckdose anzuschließen? Ich habe das Gefühl, dass dies mit CMD-A auf all deinen Elementen geschehen würde. Dann ziehe ich das Steuerelement auf deinen Code, aber hier wird nur eines der ausgewählten Elemente mit dem Ausgang verbunden.Schließen Sie alle UI-Elemente gleichzeitig an einen Ausgang an, swift

Antwort

7

Sie können dies nicht tun.

Die einzigen Dinge, an die mehrere UI-Elemente angeschlossen werden können, sind Aktionen oder Outlet-Sammlungen.

Wichtig ist, dass ein Auslass eine einzige Verweis auf ein einzelnes Objekt:

@IBOutlet weak var label: UILabel! 

Wie bei jeder anderen Variablen, ist es nicht zwei oder mehr Dinge auf einmal sein kann. Es kann nur eine Sache sein. Wenn ich ein anderes Ding an diese Steckdose hänge, wird es das aushaken, was vorher angeschlossen war.


Aber ich kann eine Steckdose Sammlung:

enter image description here

@IBOutlet strong var labels: [UILabel]! 

Ich glaube nicht, dass es eine Abkürzung ist, mehrere Elemente auf einmal Einhaken, aber Sie können mehrere Elemente verbinden (wenn auch nur eins nach dem anderen).


Es ist wichtig, dass Xcode standardmäßig beachten Sie, dass der Austritt Sammlung als die genaue Art von was auch immer Sie in geschleppt erstellen, und Sie werden nur in der Lage sein, Elemente dieses Typs oder Unterklassen dieses Typs in dem die Sammlung.

können Sie jedoch manuell den Typen einen breiteren Typen verändern und dadurch eine größere Vielfalt an Dinge Haken:

@IBOutlet strong var labels: [UIView]! 

enter image description here

enter image description here


Ebenso mehr Objekte unterschiedlicher Typen können an eine @IBAction angeschlossen werden, solange die Schnittstelle für die Methode sinnvoll ist:

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

enter image description here

Verwandte Themen