Перейти к предыдущему контроллеру представления
У меня есть UIView->UICollectionView->UICollectionViewCell
. Я пытаюсь перейти программно, но ни одна из них не работает. Код вызвал.
Я использую StoryBoard.
- (void) goBack:(NSNotification *) notification {
// [self.navigationController popViewControllerAnimated:YES];
// [self dismissViewControllerAnimated:YES completion:nil];
[self.navigationController popToRootViewControllerAnimated:YES];
}
Ответы
Ответ 1
Вам нужно использовать:
[self.navigationController popToRootViewControllerAnimated:YES];
Это вернет вас к контроллеру корневого представления.
Если вы хотите перейти к предыдущему контроллеру представления, вы должны реализовать:
[self.navigationController popViewControllerAnimated:YES];
Ответ 2
Используя нижнюю строку, мы можем перейти к контроллеру родительского представления
[self.navigationController popViewControllerAnimated:YES];
Используя нижнюю строку, мы можем перейти к главному/корневому контроллеру представления
[self.navigationController popToRootViewControllerAnimated:YES];
Используя нижнюю строку, мы можем перейти к любому контроллеру вида
[self.navigationController popToViewController:viewControllerObject animated:YES];
Ответ 3
Как насчет...
[self.navigationController dismissViewControllerAnimated:YES completion:NULL];
Предполагая, что вы в настоящее время находитесь в контроллере на основе навигации, и вы хотели вернуться к предыдущему контроллеру, прежде чем попасть в контроллер на основе навигации.
Ответ 4
Быстрые решения для удобного копирования:
navigationController?.popViewControllerAnimated(true)
Ответ 5
Попробуйте...
#import "bookdescriViewController.h" // import here your class name
- (IBAction)backButton:(id)sender
{
bookdescriViewController *previosVC = [[bookdescriViewController alloc]init];
[self.navigationController popViewControllerAnimated:YES]; // go to previous view controller
[self.navigationController popToRootViewControllerAnimated:YES]; // go to root view controller
[self.navigationController popToViewController:previosVC animated:YES]; // go to any view controller
[previosVC release];
}
Ответ 6
- (void) goBack:(NSNotification *) notification
{
if(!self.YOrView.isHidden)
self.YOrView.hidden = YES;
}
Ответ 7
Вернитесь к контроллеру родительского представления и контроллеру текущего уровня dealloc ex:
- (void)applicationDidEnterBackground:(NSNotification *)notification
{
NSInteger numberOfViewControllers = self.navigationController.viewControllers.count;
UIViewController *vc = [self.navigationController.viewControllers objectAtIndex:numberOfViewControllers - 2];
[self.navigationController popToViewController:vc animated:NO];
}
или другой контроллер просмотра
Ответ 8
С swift3,
@IBAction func back(_ sender: UIButton) {
self.dismiss(animated: true, completion: nil)
}