2016-06-23 3 views
0

Для моего приложения у меня есть одна область, где мне бы хотелось иметь возможность делать два листа действий. При касании строки в TableView, чтобы проголосовать за один вариант, она дает 3 варианта, большие пальцы вверх, большие пальцы вниз или просмотр предлагаемых дат. Затем нажмите «Thumbs Up», затем укажите другой листок действий, в котором есть доступные даты. Я получаю это, чтобы всплывать второй лист, но затем он автоматически отклоняется, благодаря коду self dismissViewController, отклоняющему оба, а не только один. Любые мысли о том, как я мог бы сделать это лучше?UIAlertController ActionSheet Какие триггеры 2-го ActionSheet

UIAlertController *actionSheet = [UIAlertController alertControllerWithTitle:@"Vote" message:@"Please vote thumbs up or thumbs down for this activity. Vote only one time, please, except for Cricket who may vote again for Casey...who still doesn't have an iPhone. Cricket, use this power wisely." preferredStyle:UIAlertControllerStyleActionSheet]; 
    [actionSheet addAction:[UIAlertAction actionWithTitle:@"Cancel" style:UIAlertActionStyleCancel handler:^(UIAlertAction *action) { 

     // Cancel button tappped. 
     [self dismissViewControllerAnimated:YES completion:^{ 
     }]; 
    }]]; 

    [actionSheet addAction:[UIAlertAction actionWithTitle:@"Thumbs Up" style:UIAlertActionStyleDefault handler:^(UIAlertAction *action) { 



     UIAlertController *actionSheet2 = [UIAlertController alertControllerWithTitle:@"Date" message:@"What Date?" preferredStyle:UIAlertControllerStyleActionSheet]; 
     [actionSheet2 addAction:[UIAlertAction actionWithTitle:@"Cancel" style:UIAlertActionStyleCancel handler:^(UIAlertAction *action) { 

      // Cancel button tappped. 
      [self dismissViewControllerAnimated:YES completion:^{ 
      }]; 
     }]]; 

     [actionSheet2 addAction:[UIAlertAction actionWithTitle:@"Sunday" style:UIAlertActionStyleDefault handler:^(UIAlertAction *action) { 
      [self dismissViewControllerAnimated:YES completion:^{ 
       //Sunday 
       [entry addObject:@"Sunday" forKey:@"DatesSuggested"]; 
       [entry saveInBackground]; 
       [self loadObjects]; 

      }]; 
     }]]; 

     [actionSheet2 addAction:[UIAlertAction actionWithTitle:@"Monday" style:UIAlertActionStyleDefault handler:^(UIAlertAction *action) { 
      [self dismissViewControllerAnimated:YES completion:^{ 
       //Sunday 
       [entry addObject:@"Monday" forKey:@"DatesSuggested"]; 
       [entry saveInBackground]; 
       [self loadObjects]; 

      }]; 
     }]]; 

     [actionSheet2 addAction:[UIAlertAction actionWithTitle:@"Tuesday" style:UIAlertActionStyleDefault handler:^(UIAlertAction *action) { 
      [self dismissViewControllerAnimated:YES completion:^{ 
       //Sunday 
       [entry addObject:@"Tuesday" forKey:@"DatesSuggested"]; 
       [entry saveInBackground]; 
       [self loadObjects]; 

      }]; 
     }]]; 


     [actionSheet2 addAction:[UIAlertAction actionWithTitle:@"Wednesday" style:UIAlertActionStyleDefault handler:^(UIAlertAction *action) { 
      [self dismissViewControllerAnimated:YES completion:^{ 
       //Sunday 
       [entry addObject:@"Wednesday" forKey:@"DatesSuggested"]; 
       [entry saveInBackground]; 
       [self loadObjects]; 

      }]; 
     }]]; 


     [actionSheet2 addAction:[UIAlertAction actionWithTitle:@"Thursday" style:UIAlertActionStyleDefault handler:^(UIAlertAction *action) { 
      [self dismissViewControllerAnimated:YES completion:^{ 
       //Sunday 
       [entry addObject:@"Thursday" forKey:@"DatesSuggested"]; 
       [entry saveInBackground]; 
       [self loadObjects]; 

      }]; 
     }]]; 


     [actionSheet2 addAction:[UIAlertAction actionWithTitle:@"Friday" style:UIAlertActionStyleDefault handler:^(UIAlertAction *action) { 
      [self dismissViewControllerAnimated:YES completion:^{ 
       //Sunday 
       [entry addObject:@"Friday" forKey:@"DatesSuggested"]; 
       [entry saveInBackground]; 
       [self loadObjects]; 

      }]; 
     }]]; 


     [self presentViewController:actionSheet2 animated:YES completion:^{ 

     } 
     ]; 







     NSInteger numberFor = [entry[@"VotesFor"] intValue]; 
     NSInteger newValue = numberFor + 1; 
     NSString *newVotesFor = [NSString stringWithFormat: @"%ld", (long)newValue]; 

     [entry setObject:newVotesFor forKey:@"VotesFor"]; 
     [entry saveInBackground]; 
     [self loadObjects]; 
     // Distructive button tapped. 
     [self dismissViewControllerAnimated:YES completion:^{ 
     }]; 
    }]]; 

    [actionSheet addAction:[UIAlertAction actionWithTitle:@"Thumbs Down" style:UIAlertActionStyleDefault handler:^(UIAlertAction *action) { 
     NSInteger numberAgainst = [entry[@"VotesAgainst"] intValue]; 
     NSInteger newValue1 = numberAgainst + 1; 
     NSString *newVotesAgainst = [NSString stringWithFormat: @"%ld", (long)newValue1]; 

     [entry setObject:newVotesAgainst forKey:@"VotesAgainst"]; 
     [entry saveInBackground]; 
     [self loadObjects]; 
     // OK button tapped. 

     [self dismissViewControllerAnimated:YES completion:^{ 
     }]; 
    }]]; 

    [actionSheet addAction:[UIAlertAction actionWithTitle:@"View Proposed Dates" style:UIAlertActionStyleDefault handler:^(UIAlertAction *action) { 
     DetailsViewController *theDetails = [[DetailsViewController alloc] init]; 
     theDetails.theActivity = entry; 
     // OK button tapped. 
     [self.navigationController pushViewController:theDetails animated:YES]; 
     [self dismissViewControllerAnimated:YES completion:^{ 

     }]; 
    }]]; 

    // Present action sheet. 
    [self presentViewController:actionSheet animated:YES completion:nil]; 

ответ

0

Отклонить сначала перед тем, как сделать другой.

[self dismissViewControllerAnimated:YES completion:^{ 
    [self presentViewController:actionSheet2 animated:YES completion:^{ 
    }]; 
}]; 
Смежные вопросы