내 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는 아닙니다. –