场景:APP应用在初始化根视图控制器后,如果应用没有登录,则跳出登录视图控制器,登录后则隐藏视图控制器。
异常情况:在未登录前显示登录页面时,出错异常提示" Unbalanced calls to begin/end appearance transitions for <VSTTabbarController: 0x7fa761068e00>. "
解决方案:
因为在初始化根视图控制器时,可能在线程中有些动画等操作还没有完成,而此时又进行登录视图控制器弹出的动画操作。因此不能直接调用登录视图控制器初始化及弹出的操作,应该使用延迟的操作,如下所示:
// 初始化视图控制器
- (void)initRootViewController
{
if (!GetDataManager.isLogin)
{
// 未登录,显示登录视图控制器
VSTLoginVC *loginVC = [[VSTLoginVC alloc] init];
BaseNavigationController *loginNav = [[BaseNavigationController alloc] initWithRootViewCo