J'ai ajouté 'interactivePopGestureRecognizer' dans un viewcontroller, et je donne aussi le bouton back sur la barre supérieure. Lorsque l'utilisateur utilise Pop Gesture et l'affichage push/pop à ce moment-là, il arrête la vue supérieure du contrôleur de navigation. Après un certain temps, il va planter avec "[hash viewcontroller]: message envoyé à l'instance libérée."interactivePopGestureRecognizer un certain temps freez view touch et il provoquera également [hash viewcontroller]: message envoyé à l'instance désallouée?
METHODE
-(void)viewDidAppear:(BOOL)animated{
[super viewDidAppear:animated];
//Pop GESTURE
if ([self.navigationController respondsToSelector:@selector(interactivePopGestureRecognizer)]) {
self.navigationController.interactivePopGestureRecognizer.enabled = true;
self.navigationController.interactivePopGestureRecognizer.delegate = self;
}
-(void)viewDidDisappear:(BOOL)animated
{
[super viewWillDisappear:animated];
//Remove Pop Gesture
if ([self.navigationController respondsToSelector:@selector(interactivePopGestureRecognizer)]) {
self.navigationController.interactivePopGestureRecognizer.enabled = false;
self.navigationController.interactivePopGestureRecognizer.delegate = nil;
}
}
DELEGATE METHOD
- (BOOL)gestureRecognizerShouldBegin:(UIGestureRecognizer *)gestureRecognizer
{
// add whatever logic you would otherwise have
return YES;
}
Je application de type TabBar.
Dans viewDidDisappear respondsToSelector n'est pas exécuté !! , Quand je mets ce code dans viewWillDisappear il sera exécuté mais pas navigué. –
Peut-être essayer de le faire dans viewWillDisappear –
La navigation viewWillDisappear ne fonctionne pas !! il va geler le viewcotroller. –