Как добавить кнопку в существующую таблицу UIActionSheet? - PullRequest
20 голосов
/ 11 марта 2010

У меня есть этот код:

UIActionSheet *actionSheet = [[[UIActionSheet alloc]
                initWithTitle:@"Illustrations"
                delegate:self
                cancelButtonTitle:@"Cancel"
                destructiveButtonTitle:nil
                otherButtonTitles: @"ABC", @"XYZ",
                nil] autorelease];
UIImage *image = // whatever, snip
if (image != nil)
{
    [actionSheet addButtonWithTitle:@"LMNOP"];
}

и он отлично добавляет мою кнопку LMNOP условно.

... ПОСЛЕ кнопки отмены.

Как я могу построить свой лист действий с помощью условной кнопки? К сожалению, я не могу сделать:

UIActionSheet *actionSheet = [[[UIActionSheet alloc]
      // ... etc.
      otherButtonTitles: someMutableArray
      // ... etc.

потому что это, безусловно, поможет.

Есть идеи?

Спасибо!

Ответы [ 2 ]

53 голосов
/ 11 марта 2010

Вы можете добавить все кнопки после метода инициализации.

UIActionSheet* sheet = [[[UIActionSheet alloc] init] autorelease];
sheet.title = @"Illustrations";
sheet.delegate = self;
[sheet addButtonWithTitle:@"ABC"];
[sheet addButtonWithTitle:@"XYZ"];
if (condition)
    [sheet addButtonWithTitle:@"LMNOP"];
sheet.cancelButtonIndex = [sheet addButtonWithTitle:@"Cancel"];
0 голосов
/ 02 декабря 2011

я кодирую для iOS 4, и это метод, который используется. Вы просто добавляете нужный заголовок для кнопки в другие разделы кнопок.

UIActionSheet *phoneActionSheet = [[UIActionSheet alloc]
                                          initWithTitle:@"Do you want to call or text this person?"
                                          delegate:self
                                          cancelButtonTitle:@"Cancel"
                                          destructiveButtonTitle:@"Call"                                            
                                          otherButtonTitles:@"Text",nil];
...