界面转场动画时导航栏的处理

前言

之前写的一个转场动画库WXSTransition受到挺多开发者喜欢的。但是也存在着一些各种各样的问题,最近抽出一些时间对WXSTransition存在的一些问题进行修复。
其中比较明显的问题是在转场动画过程中,导航栏的存在让动画看起来不够顺畅,自然。导航栏的使用频率很高,所以这是一个比较大的问题。

解决

发现这个问题的第一个想法是要让导航栏做相应的动画,但是在实践过程中发现,确实有挺多坑,一个是导航栏相关API比较少,一个是要进行相对应的动画比较吃力不讨好。
最后采用一个性价比比较高的方案,在适合的时机隐藏、显示导航栏。
- (void)animateTransition:(id )transitionContext方法隐藏

- (void)animationEnded:(BOOL) transitionCompleted方法中显示。
效果如图:

fragment.gif

界面转场动画时导航栏的处理_第1张图片
spread.gif

界面转场动画时导航栏的处理_第2张图片
viewMove.gif

其实在网上可以看到许多对转场过程中对导航栏的处理,可以根据自身的需求参照网上的方法进行导航栏自定义动画,例如渐变等。为了不与自定义动画冲突,我加上了autoShowAndHideNavBar属性,将其设置为NO时边不会自动隐藏,显示,就不会与自定义动画冲突。

代码在我的Github上WXSTransion

你可能感兴趣的:(界面转场动画时导航栏的处理)