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
Angenommen, die Schaltflächen in IB sind korrekt mit den IBOutlet-Eigenschaften verknüpft, dann ist das so einfach wie:
%Vor%Ein anderer Ansatz besteht darin, die Schaltflächen in Interface Builder mit einem NSArray zu verbinden.
%Vor%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;
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%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
Tags und Links arrays objective-c uibutton