как вызвать лист действий на кнопке панели - PullRequest
0 голосов
/ 28 марта 2011

да, но у меня есть проблема, я создал контроллер, который наследуется от uitableviewcontroller, и я написал код, который вызывает лист действий на элементе кнопки на панели инструментов, но он выдает ошибку.

mapType = [[[UIBarButtonItem alloc]initWithTitle:@"MAP TYPE" style:UIBarButtonItemStyleBordered target:self action:@selector(chooseMapType:)]autorelease]; 
self.toolbarItems = [NSArray arrayWithObjects:space, addButton, removeButton,mapType, nil]; [self.navigationController.view addSubview:self.navigationController.toolbar]; 

    - (IBAction)chooseMapType:(id)sender {

    UIActionSheet *sheet = [[UIActionSheet alloc] initWithTitle:@"Map Type"  delegate:self   cancelButtonTitle:@"Cancel"     destructiveButtonTitle:nil otherButtonTitles:kMapTypeRegular, kMapTypeSatellite, nil];
 [sheet showFromToolbar:navigationController.toolbar];
 [sheet release];
 }

это мой метод, который я передал своему селектору.

- (void)actionSheet:(UIActionSheet*)actionSheet clickedButtonAtIndex:(NSInteger)buttonIndex {
 NSString *clickedButtonTitle = [actionSheet buttonTitleAtIndex:buttonIndex];
 if ([clickedButtonTitle isEqualToString:kMapTypeRegular])
 [[self mapView] setMapType:MKMapTypeStandard];
 else if ([clickedButtonTitle isEqualToString:kMapTypeSatellite])
 [[self mapView] setMapType:MKMapTypeSatellite];
 } 

это мой метод листа действий, но он не вызывается и выдает ошибку, которая - [UIActionSheet _presentSheetFromView: выше:], /SourceCache/UIKit_Sim/UIKit-1447.6.4/UIActionSheet. - Абхишек 24 марта в 8:59

1 Ответ

0 голосов
/ 28 марта 2011

Убедитесь, что ваша chooseMapType правильно связана с UIBarButtonItem в вашем XIB-файле.

...