Cómo deshabilitar el gesto de retroceso en iOS 7 para una sola vista

Estoy intentando deshabilitar el gesto Atrás de mi controlador de vista utilizando el siguiente conjunto de código.

EnFirstViewController.m, Estoy configurando el delegado deinteractivePopGestureRecognizer

- (void) viewWillLoad {

    // Other stuff..
    self.navigationController.interactivePopGestureRecognizer.delegate = self;
}

Y luego implementando el<UIGestureRecognizerDelegate> método y regresoNO.

- (BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldReceiveTouch:(UITouch *)touch {

     return NO;
}

Y en dealloc pongo el delegado a nil. (He leído en alguna parte que en iOS 7, debe configurar manualmente los delegados en nulo)

- (void)dealloc {

    self.navigationController.delegate = nil;
    self.navigationController.interactivePopGestureRecognizer.delegate = nil;
}

Esto funciona en elFirstViewController. Pero cuando empujoSecondViewController A esto, el gesto tampoco funciona en eso. ¿Cómo puedo deshabilitar el gesto solo en FirstViewController?

También cuando hago popFirstViewController ir aRootViewController y luego tratar de empujarFirstViewController de nuevo, me sale el objeto desasignado error:

[FirstViewController gestureRecognizer:shouldReceiveTouch:]: message sent to deallocated instance 0x14ed0280

¿Por qué más necesito hacer otra cosa que no sea establecer a los delegados en cero? ¿O lo estoy poniendo en el lugar equivocado?

Respuestas a la pregunta(6)

Su respuesta a la pregunta