Ios 为什么操作被强制解除ViewController激活

Ios 为什么操作被强制解除ViewController激活,ios,uinavigationcontroller,Ios,Uinavigationcontroller,我需要用默认动画关闭显示的NavigationController,并且我需要在推送时自定义动画。以下是我正在做的: - (void)viewDidAppear:(BOOL)animated { [super viewDidAppear:animated]; self.navigationController.delegate = self; } - (void)viewWillDisappear:(BOOL)animated { [super viewWillDisa

我需要用默认动画关闭显示的NavigationController,并且我需要在推送时自定义动画。以下是我正在做的:

- (void)viewDidAppear:(BOOL)animated {
    [super viewDidAppear:animated];
    self.navigationController.delegate = self;
}

- (void)viewWillDisappear:(BOOL)animated {
    [super viewWillDisappear:animated];
    self.navigationController.delegate = nil;
}

- (IBAction)closeButtonTouchUp:(id)sender {
    [self.navigationController dismissViewControllerAnimated:NO completion:nil];
}

- (id <UIViewControllerAnimatedTransitioning>)navigationController:(UINavigationController *)navigationController
                                   animationControllerForOperation:(UINavigationControllerOperation)operation
                                                fromViewController:(UIViewController *)fromVC
                                                  toViewController:(UIViewController *)toVC {
    if(operation == UINavigationControllerOperationPush) {
        return [TurnAnimationController new];
    }
    return nil;
}  
-(void)视图显示:(BOOL)动画{
[超级视图显示:动画];
self.navigationController.delegate=self;
}
-(无效)视图将消失:(BOOL)已设置动画{
[超级视图将消失:动画];
self.navigationController.delegate=nil;
}
-(iAction)CloseButton点击:(id)发送者{
[self.navigationController dismissViewControllerAnimated:未完成:nil];
}
-(id)导航控制器:(UINavigationController*)导航控制器
AnimationControllerOperation:(UINavigationControllerOperation)操作
fromViewController:(UIViewController*)fromVC
toViewController:(UIViewController*)toVC{
if(操作==UINavigationControllerOperationPush){
返回[TurnAnimationController new];
}
返回零;
}  
但操作总是=按、按和按。是这样吗?我可以检查
toViewController
,而不是检查操作类型,但它会破坏代码。请给我建议一些解决办法


从问题创建到问题解决,只需三分钟,一切照常进行!我刚刚从关闭按钮而不是控制器错误地点击并创建了按钮序列。有人能删除这个问题吗?

关闭按钮错误地附加了两个不同的操作。这将导致在退出时自定义动画。

添加您的解决方案作为答案。它可能会帮助其他人。