Кнопки UIActionSheet для отображения вида

Я пытаюсь, чтобы кнопки в моем UIActionSheet выполняли изменение вида, используя следующий код.

-(void)displayActionSheet:(id)sender
 {

actionSheet = [[UIActionSheet alloc] 
 initWithTitle:nil
 delegate:nil
 cancelButtonTitle:@"Cancel"
 destructiveButtonTitle:nil
 otherButtonTitles:@"Devanagari", @"English", nil];

actionSheet.actionSheetStyle = UIActionSheetStyleBlackOpaque;

[actionSheet showInView:self.view ];

[actionSheet release];

}

Как я могу изменить этот код, чтобы кнопки Devanagari и English привязывались к их отдельным представлениям?

2 ответа

для того, чтобы сделать это менее запутанным, вы можете подумать о том, чтобы называть ваше actionSheet чем-то иным, чем actionSheet.

-(void)actionSheet:(UIActionSheet *)actionSheet clickedButtonAtIndex:(NSInteger)buttonIndex
{
 if(actionSheet == actionSheet)
 {

switch (buttonIndex)
 {
 case 0:
 {
 DevanagariViewController *controller1 = [[DevanagariViewController alloc] initWithNibName:@"DevanagariViewController" bundle:nil];
[self presentModalViewController:controller1 animated:NO];
 NSLog(@"DevanagariViewController");
 break;
 }


 case 1:
 {
 EnglishViewController *controller2 = [[EnglishViewController alloc] initWithNibName:@"EnglishViewController" bundle:nil];
[self presentModalViewController:controller2 animated:NO];
 NSLog(@"EnglishViewController");
 break;
 }


 } 


 }


-(void)actionSheet:(UIActionSheet *)actionSheet clickedButtonAtIndex:(NSInteger)buttonIndex {
 NSString *title = [actionSheet buttonTitleAtIndex:buttonIndex];
 if([title isEqualToString:@"Devanagari"]) {
 //Code if Devanagari button is pressed
 }
 if([title isEqualToString:@"English"]) {
 //Code if English button is pressed
 }
}

licensed under cc by-sa 3.0 with attribution.