美文网首页
【血泪史】iOS内使用自定义Present动画之后可能导致导航栏

【血泪史】iOS内使用自定义Present动画之后可能导致导航栏

作者: 起床干活养老婆 | 来源:发表于2021-04-21 14:02 被阅读0次

    简述

         在使用自定义present动画之后再present其它页面,有可能造成dismiss之后app导航栏异常,如导航动画缺失,屏幕点击无响应,navigation表现异常等一些疑难杂症的表现。解决该问题主要有以下几个排查思路:

    检查自定义动画是否正确调用声明周期函数

    检查在自定义动画中是否正确调用

    // 动画开始   

    [fromViewController beginAppearanceTransition:NO animated:YES];   

    [toViewController beginAppearanceTransition:YES animated:YES];

    // 动画结束           

    [fromViewController endAppearanceTransition];           

    [toViewController endAppearanceTransition];           

    [transitionContext completeTransition:!transitionContext.transitionWasCancelled];

         以上代码必定成对出现,即显示是要有,dismiss时也要有。

    present的controller的modalPresentStyle,在fullscreen和overfullscreen之间选择,则尽量使用fullscreen。

    系统级问题,无法解决,使用overfullscreen当自定义动画在dismiss的animated为false的情况下,由于没有执行disappear,会导致navigation的问题。除非新的自定义动画执行时不执行动画生命周期(上述代码),但这样往往带来业务问题。使用fullscreen则不会存在该问题。

    相关文章

      网友评论

          本文标题:【血泪史】iOS内使用自定义Present动画之后可能导致导航栏

          本文链接:https://www.haomeiwen.com/subject/zexzlltx.html