Objective-C: Ein Array von UIB-Schaltflächen

7

Wenn ich eine große Anzahl von Schaltflächen im Interface Builder eingerichtet habe, wie kann ich sie über Code in ein Array einfügen?

Wenn ich zum Beispiel drei Knöpfe habe und in der Schnittstellendatei, definiere ich sie:

%Vor%

Wenn ich jede dieser Schaltflächen umbenennen möchte, um "Hallo" zu sagen, möchte ich in der Lage sein, sie in ein Array zu packen und dann eine Funktion wie:

zu verwenden %Vor%

Könnte jemand bitte Informationen darüber geben, wie dies erreicht wird (wenn es möglich ist)?

Danke

    
achiral 15.09.2011, 01:27
quelle

5 Antworten

5

Angenommen, die Schaltflächen in IB sind korrekt mit den IBOutlet-Eigenschaften verknüpft, dann ist das so einfach wie:

%Vor%     
ennuikiller 15.09.2011, 01:39
quelle
12

Ein anderer Ansatz besteht darin, die Schaltflächen in Interface Builder mit einem NSArray zu verbinden.

%Vor%     
Lachlan Roche 15.09.2011 01:57
quelle
7

Der folgende Code fügt 5 Schaltflächen mit jeweils einem neuen Tag hinzu und verbindet sie auch mit einem Event. Die Buttons werden nebeneinander mit einem 5px Padding platziert:

Wenn Sie vorhaben, außerhalb des Bereichs for{} auf die Schaltfläche zuzugreifen, können Sie Ihre Schaltfläche in der Kopfzeile definieren, andernfalls können Sie sie innerhalb des Bereichs definieren. UIButton * settButton;

.m

%Vor%     
WrightsCS 15.09.2011 01:50
quelle
2

Da Sie die Schaltflächen direkt in Interface Builder erstellt haben, können Sie sie nicht einfach direkt im Code festlegen?

Eine allgemeinere Lösung wäre ungefähr so ​​... wenn ich zwei Dinge voraussetze: dass sie alle Teilansichten der Ansicht des UIViewControllers sind und dass diese UIB-Knöpfe die einzigen UIB-Knöpfe in dieser Ansicht sind kann so etwas tun:

%Vor%     
Matthew Gillingham 15.09.2011 01:44
quelle
0

Ich denke, dass es am einfachsten ist, eine einzelne Schaltfläche zu erstellen, die Sie initialisieren und zu einem veränderlichen Array hinzufügen:

in * .m:

%Vor%

in Ihrer Funktion:

%Vor%

Schaltflächen sind verfügbar über:

%Vor%

Da die Option tag auch gefüllt ist, kann ich immer feststellen, welche Schaltfläche aus dem Array berührt wurde, wenn sie angezeigt wurde (buttonAction: withEvent:)

Prost

    
carlos 28.05.2013 21:45
quelle

Tags und Links