Несколько листов UIActionSheets в одном контроллере представления - PullRequest
5 голосов
/ 24 февраля 2011

Как несколько UIActionSheet с добавляются к одному UIViewController, если существует только один -actionSheet:clickedButtonAtIndex: метод?

Ответы [ 3 ]

7 голосов
/ 24 февраля 2011

Установите имя или тег на свой лист действий и сделайте что-нибудь подобное

  -(void)actionSheet:(UIActionSheet *)actionSheet clickedButtonAtIndex:(NSInteger)buttonIndex
 {
   if(actionSheet==yourActionsheet1)
     {
      //your logic
       }
     if(actionSheet==yourActionsheet2)
     {
      //your logic
       }
    }

надеюсь, что это поможет

3 голосов
/ 18 ноября 2011

Вы можете создать несколько листов действий, как показано ниже:

actionSheet1 = [[UIActionSheet alloc] initWithTitle:@"Where to go"
                                                   delegate:self
                                          cancelButtonTitle:@"cancel"
                                     destructiveButtonTitle:@"Store 2"
                                          otherButtonTitles:@"Store 3",@"Store 4",@"Store 5",@"View Store Profile",nil];
 actionSheet2 = [[UIActionSheet alloc] initWithTitle:@"Where to go"
                                                   delegate:self
                                          cancelButtonTitle:@"cancel"
                                     destructiveButtonTitle:@"Store 1"
                                          otherButtonTitles:@"Store 3",@"Store 4",@"Store 5",@"View Store Profile",nil];
actionSheet3 = [[UIActionSheet alloc] initWithTitle:@"Where to go"
                                                   delegate:self
                                          cancelButtonTitle:@"cancel"
                                     destructiveButtonTitle:@"Store 1"
                                          otherButtonTitles:@"Store 2",@"Store 4",@"Store 5",@"View Store Profile",nil];

и после этого проверьте, какой лист действий вызывается - (void) actionSheet: (UIActionSheet *) actionSheet didDismissWithButtonIndex: (NSInteger) buttonIndex {

if(actionSheet==actionSheet1)
{
}
else if(actionSheet==actionSheet2)
{
}
else if(actionSheet==actionSheet3)
{
}
2 голосов
/ 24 февраля 2011

Вы можете добавить несколько листов действий к одному контроллеру вида. Вы можете установить тег для каждого из листов действий и проверить тег в методе делегата для выполнения необходимой функции.

...