Wie kann ich ein Array von Strings an eine varargs init-Methode von UIActionSheet senden?

7

Ich habe ein Aktionsblatt mit Optionen, die je nach den Umständen variieren. Es gibt genug verschiedene Tastentitel, die ich zuerst ein Array dieser Tastentitel erstellen möchte, aber ich kann nicht herausfinden, wie man das in das varargs Format umwandelt.

Ich möchte so etwas tun:

%Vor%

Nun, natürlich, wenn ich müsste, könnte ich stattdessen so etwas tun:

%Vor%

Aber das wäre schrecklich. Wer kennt ein paar nette syntaktische Zucker, um mir zu helfen?

BEARBEITEN: Es wurde vorgeschlagen, dass ich addButtonWithTitle benutze, was auf den ersten Blick gut aussieht, leider setzt dies die zusätzlichen Buttons nach dem Abbrechen Button, was nicht erwünscht ist.

Ich glaube, das ist ein Fehler mit Apples Code, da ihre Dokumentation zu addButtonWithTitle Folgendes besagt:

%Vor%

HI-Anforderungen (Apples eigene Human Interface-Richtlinien) bevorzugen den Abbrechen-Button unter allen anderen Optionen, also würde ich sagen, Apple hat es vermasselt. Natürlich hilft mir das nicht wirklich, also bin ich wieder dabei, zwischen einem NSArray und einem Varargs zu konvertieren, was ich immer noch nicht kann.

    
Micah Hainline 15.10.2011, 22:17
quelle

4 Antworten

18

Sie können dies versuchen

%Vor%     
Himanshu A Jadav 15.10.2011, 22:39
quelle
5

Eine Variation von Himanshus Antwort:

%Vor%

Hinweis: Ihre UIActionSheetDelegate-Methode sollte anstelle von buttonIndex auf Schaltflächenüberschriften überprüfen:

%Vor%

Ich denke, das Schlüsseldetail, das die Leute verpassen, ist, den cancelButton im initWithTitle-Selektor zu setzen, anstatt ihn nach allen anderen Buttons hinzuzufügen und das Aussehen des Cancel-Buttons durch Aufruf von setCancelButtonIndex:.

zu spezifizieren     
Code Roadie 29.02.2012 22:33
quelle
4

Warum nicht einfach so etwas tun:

%Vor%     
ennuikiller 15.10.2011 22:40
quelle
0

Hier ist eine Methode, die ich versucht habe, scheint gut zu funktionieren. Dies funktioniert, wenn Sie am Ende der Schaltflächen vor der Schaltfläche "Abbrechen" eine zusätzliche Schaltfläche hinzufügen möchten.

%Vor%

Es scheint in Ordnung zu sein, ein zusätzliches 'Nil' am Ende der Schaltflächenliste hinzuzufügen, wenn Ihre Bedingung (condition4) nicht erfüllt ist.

Ich habe dies erfolgreich auf iOS7 getestet.

    
ndnguru 14.02.2014 04:57
quelle