我想在我的iPhone應用程序中執行IBAction後顯示特定的ViewController(或關閉)視圖。我試過執行操作後顯示或解除特定的ViewController
[self.parentViewController.parentViewController dismissModalViewControllerAnimated:YES];
但是,一旦行動已經執行,這似乎沒有做任何事情。
多一點信息:
-(void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
UITableViewCell *selectedCell = [tableView cellForRowAtIndexPath:indexPath];
if (selectedCell.tag == 1)
{
UIActionSheet *actionSheet = [[UIActionSheet alloc]
initWithTitle:@"Are you sure you want to delete this project?"
delegate:self cancelButtonTitle:@"No" destructiveButtonTitle:@"Yes, I’m Sure" otherButtonTitles:nil];
[actionSheet showInView:self.view];
}
}
- (void)actionSheet:(UIActionSheet *)actionSheet didDismissWithButtonIndex:(NSInteger)buttonIndex
{
if (buttonIndex != [actionSheet cancelButtonIndex])
{
[self.tableView beginUpdates]; // Avoid NSInternalInconsistencyException
// Delete the project object that was swiped
Project *projectToDelete = self.project;
NSLog(@"Deleting (%@)", projectToDelete.name);
[self.managedObjectContext deleteObject:projectToDelete];
[self.managedObjectContext save:nil];
}
}
我想,當用戶按下actionsheet是按鈕當前的視野中消失。
假設自我指的是當前顯示的,你爲什麼不使用[自dismissModal ...]的UIViewController中。根據文檔,該呼叫被自動轉發到呈現視圖控制器。然而,呈現視圖控制器通常是self.parentViewController而不是self.parentViewController.parentViewController,除非你有一些不尋常的視圖層次結構。 – 2012-03-20 13:11:10