Page Freeze Caused by Gesture

When pushing a page in the navigation, changing the state of interactivePopGestureRecognizer causes the page to freeze. Just like this:


  #import "ViewController.h"

@interface ViewController ()

@end

@implementation ViewController

- (void)viewDidLoad {
    [super viewDidLoad];
    // Do any additional setup after loading the view.
    CGFloat red = (arc4random_uniform(256) / 255.0);
    CGFloat green = (arc4random_uniform(256) / 255.0);
    CGFloat blue = (arc4random_uniform(256) / 255.0);
    CGFloat alpha = 1.0; // 

    self.view.backgroundColor = [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
    
    UIButton *btn = [UIButton buttonWithType:UIButtonTypeCustom];
    btn.frame = CGRectMake(0, 0, 100, 44);
    btn.backgroundColor = [UIColor redColor];
    btn.center = self.view.center;
    [btn setTitle:@"push click" forState:UIControlStateNormal];
    [btn addTarget:self action:@selector(click:) forControlEvents:UIControlEventTouchUpInside];
    [self.view addSubview:btn];
}
- (void)click:(id)sender {
    [self.navigationController pushViewController:[ViewController new] animated:YES];
}
- (void)viewWillAppear:(BOOL)animated{
    [super viewWillAppear:animated];
    self.navigationController.interactivePopGestureRecognizer.enabled = NO;
}
- (void)viewDidAppear:(BOOL)animated{
    [super viewDidAppear:animated];
    self.navigationController.interactivePopGestureRecognizer.enabled = YES;
}



@end
Page Freeze Caused by Gesture
 
 
Q