Показать или отклонить определенный ViewController после выполнения действия - PullRequest
0 голосов
/ 20 марта 2012

Я хочу показать определенный ViewController (или отклонить) View после выполнения IBAction в моем приложении для iPhone.Я пробовал

[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];

    }
}

Я хочу, чтобы текущий вид исчезал, когда пользователь нажимает кнопку Да на листе действий.

Ответы [ 3 ]

1 голос
/ 20 марта 2012

Мне нужно было вернуться к первому (или корневому) представлению в моем стеке навигации.

Все, что мне нужно было сделать, это использовать этот метод:

[controller.navigationController popToRootViewControllerAnimated:YES];
1 голос
/ 20 марта 2012
// Assume we are inside a UIViewController (or a subclass)

DestinationController *destinationController = [[DestinationController alloc] init];
[self presentModalViewController:destinationController animated:YES];

...

// Assume we are now in destination controller

// Dismiss
[self dismissModalViewControllerAnimated:YES];
0 голосов
/ 20 марта 2012

Еще один способ показать и отклонить контроллер представления - это с помощью pushViewController и popViewController.

Чтобы показать viewController:

- (void) pushViewController: (UIViewController *) viewController animated: (BOOL) animated; // Использует горизонтальный слайд-переход. Не действует, если контроллер представления уже находится в стеке.

И уволить:

- (UIViewController *) popViewControllerAnimated: (BOOL) animated; // Возвращает извлеченный контроллер.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...