zoukankan      html  css  js  c++  java
  • iOS BUG: Unbalanced calls to begin/end appearance transitions for <XXXViewController: 0x7fcea3730650>.

    自定义TabBarController Push下一级Controller时 会报这样的错误:Unbalanced calls to begin/end appearance transitions for <XXXViewController: 0x7fcea3730650>.

    网上的一些回答,都说是动画引起的,解决方法就是,加一个BOOL型的变量,检查是否在做动画。

        if (transiting) {
            return;
        }
        transiting = YES;
        [self transitionFromViewController:_currentVC toViewController:newVC duration:0.5 options:UIViewAnimationOptionTransitionCrossDissolve animations:^{
            
        } completion:^(BOOL finished) {
            
            transiting = NO;
        }];

    这样就不会出现刚才说的那个bug了。 

    但是,这并没有解决我的问题!

    所以真正的答案是

    自定义了TabBarController 之后必须实现以下

    -(void)viewWillAppear:(BOOL)animated
    {
        [self.selectedViewController beginAppearanceTransition: YES animated: animated];
    }

    -(void) viewDidAppear:(BOOL)animated
    {
        [self.selectedViewController endAppearanceTransition];
    }

    -(void) viewWillDisappear:(BOOL)animated
    {
        [self.selectedViewController beginAppearanceTransition: NO animated: animated];
    }

    -(void) viewDidDisappear:(BOOL)animated
    {
        [self.selectedViewController endAppearanceTransition];

  • 相关阅读:
    HD1205吃糖果(鸽巢、抽屉原理)
    POJ3628 Bookshelf 2(01背包+dfs)
    poj1631Bridging signals(最长单调递增子序列 nlgn)
    【转】KMP算法
    Intern Day1
    记 MINIEYE C++应用开发实习生技术一面
    解决Mac下CLion无法编译运行多个cpp的问题
    记赛目科技C++开发工程师实习生技术面
    Git总结
    Docker学习大纲
  • 原文地址:https://www.cnblogs.com/jukaiit/p/5661277.html
Copyright © 2011-2022 走看看