今天接到新的修改需求捐韩,要求指定的詳情頁面只有點(diǎn)擊返回按鈕才可返回瘟仿,這樣就必須關(guān)閉邊緣返回脊串,于是網(wǎng)上找了各種教程凉泄,總結(jié)下來基本上都是關(guān)掉navigation的interactivePopGestureRecognizer躏尉,關(guān)掉后測試發(fā)現(xiàn)達(dá)不到效果。無奈之下后众,自己嘗試通過斷點(diǎn)查看navigation上的gestureRecognizer發(fā)現(xiàn)有不止一個gestureRecognizer存在而且都是和view的transaction有關(guān)胀糜。既然關(guān)一個不成,索性使用遍歷數(shù)組的方式將其全部關(guān)閉了吼具,結(jié)果終于成功僚纷,現(xiàn)在獻(xiàn)上代碼,希望對大家有幫助拗盒!
//關(guān)閉響應(yīng)
-(void)viewDidAppear:(BOOL)animated{
[super viewDidAppear:animated];
NSArray *navtureRecognizers = self.navigationController.view.gestureRecognizers;
[navtureRecognizers enumerateObjectsUsingBlock:^(UIGestureRecognizer *obj, NSUInteger idx, BOOL * _Nonnull stop) {
obj.enabled = NO;
}];
}
//打開響應(yīng)
- (void)viewDidDisappear:(BOOL)animated {
[super viewDidDisappear:animated];
NSArray *navtureRecognizers = self.navigationController.view.gestureRecognizers;
[navtureRecognizers enumerateObjectsUsingBlock:^(UIGestureRecognizer *obj, NSUInteger idx, BOOL * _Nonnull stop) {
obj.enabled = YES;
}];
}