Я реализую лист действий. Когда я нажимаю кнопку «ОК», сделайте это, нажмите «Отмена» и вернитесь назад. Кнопка «ОК» работает нормально, но когда я нажимаю кнопку «Отмена», ничего не происходит, она не убирается и ничего не делает, просто висит на панели действий.
Ниже мой код:
Чтобы создать кнопку на панели навигации:
UIBarButtonItem *clearButton = [[[UIBarButtonItem alloc] initWithTitle:@"Clear History"
style:UIBarButtonItemStyleBordered
target:self
action:@selector(ClearHistoryAction:)] autorelease];
self.navigationItem.leftBarButtonItem = clearButton;
Когда я нажимаю и запускаю лист действий:
- (IBAction)ClearHistoryAction:(id)sender
{
UIActionSheet *actionSheet = [[UIActionSheet alloc]
initWithTitle:@"Clear History?"
delegate:self
cancelButtonTitle:@"Cancel"
destructiveButtonTitle:@"OK"
otherButtonTitles:nil];
// use the same style as the nav bar
actionSheet.actionSheetStyle = self.navigationController.navigationBar.barStyle;
[actionSheet showInView:self.view];
[actionSheet release];
}
Если выбрано ОК, сделайте это:
- (void)actionSheet:(UIActionSheet *)actionSheet
didDismissWithButtonIndex:(NSInteger) buttonIndex
{
if (!buttonIndex == [actionSheet cancelButtonIndex])
{
//do what i want here!
}
}
В заголовочном файле UIActionSheetDelegate
включено в @interface
.