Kann ich eine Verbindung mehrere Objekte mit verschiedenen tags, um den gleichen IBOutlet?
Habe ich 30 buttons in einer view im Interface Builder. Jeder hat einen anderen tag-zwischen 100001 und 100030. Ich habe festgestellt, dass es einfach zu verwenden die gleiche Aktion für jede Taste, die entlang der tag-für jeden, wenn Sie gedrückt werden und mit code zu entscheiden, welche Ebene zu laden.
Möchte ich schließen Sie alle Schaltflächen auf eine einzige IBOutlet, haben aber jede Schaltfläche laden Sie ein anderes Bild auf Grundlage der vom Nutzer gespeicherten Daten und dem button-tag.
Wie mache ich das?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Verwenden IBOutletCollection hinzufügen, um eine outlet-collection, um Ihre view-controller, wie diese:
So können Sie verbinden alle Ihre Schaltflächen auf eine Steckdose. Die Eigenschaft
buttons
wird ein NSMutableSet mit all Ihren Tasten. Sie können weiterhin zum identifizieren der einzelnen Tasten mit der Taste stag
Eigenschaft. Dies ist praktisch, wenn Sie möchten, Durchlaufen alle deine Tasten, vielleicht, jeden button-Bild:(Sie müssen zur Versorgung der
-imageForTag:
Methode, um das richtige Bild für einen bestimmten tag, oder einen anderen Weg finden, aus der die Zuordnung von tags zu Bildern.)Natürlich, wenn Sie bereits wissen, den Bereich der tag-Werte für alle buttons, und wenn Sie sich gekümmert haben, um die tags, die eindeutig innerhalb der Ansicht mit den Schaltflächen können Sie auch einfach Holen jede Taste einzeln mit
-viewWithTag:
. Dies ist wahrscheinlich nicht so schnell, wie mit der ganzen Gruppe von Schaltflächen, die bereits erstellt wurden, als Sie mit der outlet-collection oben beschrieben, aber es bedeutet, dass es eine Sache weniger zu pflegen.Befolgen Sie diese Schritte und erstellen Sie eine Reihe von Verkaufsstellen eine Verbindung mit IB-Elemente:
-