Podklasowałem UIActionSheet
, a w metodzie -init
muszę osobno dodać przyciski po wywołaniu super init
(nie można przekazać zmiennej var_args).UIActionSheet addButtonWithTitle: nie dodaje przycisków w odpowiedniej kolejności
Teraz wygląda to tak:
if (self = [super initWithTitle:title delegate:self cancelButtonTitle:cancel destructiveButtonTile:destroy otherButtonTitles:firstButton,nil]) {
if (firstButton) {
id buttonTitle;
va_list argList;
va_start(argList, firstButtton);
while (buttonTitle = va_arg(argList, id)) {
[self addButtonWithTitle:buttonTitle]
}
va_end(argList);
}
}
return self;
Jednak moje szczególne zastosowanie w tym przypadku nie ma destrukcyjny kliknąć przycisk Anuluj, a cztery inne przyciski. Kiedy pojawia się, zamawianie wszystko jest wyłączony, wyświetlany jako
Przycisk1
Anuluj
button2
button3
jakby były po prostu dodaje się do końca listy, która ma sens; jednak nie chcę, żeby to wyglądało; Więc co mam zrobić? Czy rzeczywiście istnieje jakiś sposób podklasy UIActionSheet
poprawnie i sprawiają, że to działa?
Ah, to ułatwia. Myślałem, że to były tylko do odczytu. –
Dobra odpowiedź, ale licznik jest w rzeczywistości niepotrzebny. addButtonWithTitle: zwraca indeks, który został dodany. –