Latest 0.0.7
License MIT
Platforms ios 7.0, requires ARC

MLNavigationBarTransition 中文介绍




Inspired by KMNavigationBarTransition. First of all, this statement and thanks. But due to individual details can not meet personal preferences, with a completely different violent way to re-build a wheel.

  • Only support for iOS7+.
  • If two pages have different navigation bar background effect, an overlay effect not like official will appear.
  • If an overlay effect appears or navigation bar’s alpha less than 1.0f, the shadow border will certainly be displayed in the middle. Regardless of whether the translucent of the navigation bar is YES.
  • If the two pages have exactly the same navigation bar background effect, official effect will appear.
  • If backButtons of two pages have different tintColor, a fade effect not like official will appear.
  • Fixed a bug that caused flicker when two pages have different barTintColor on iOS 8.2 or below.

Addition Tips

  • Please do not set navigationBarHidden toYES(it has bugs). If you want to hide the navigation bar, use self.navigationBar.ml_backgroundAlpha = 0.0f;
  • If you want to hide the bottom shadow of the navigation bar, use self.navigationController.navigationBar.ml_backgroundShadowView.hidden = YES
  • Keep translucent asYES as far as possible, because if it is NO, the head of the page in the navigator will remain under the navigation bar, so if the navigation bar’s alpha less than 1.0f, will reveal views below, resulting in abnormal results.



  • 只支持iOS7+
  • 如果两个页面有不一样的导航条背景效果的话,转场时候将会出现导航条叠加的效果。(即使只有底部阴影条显示透明度不同这种细节,也会被认作不同)
  • 如果一个叠加效果显示了或者导航条背景有透明度,中间必定会显示阴影条,无论导航条的translucent是否为YES
  • 如果两个页面具有完完全全一模一样的导航条背景效果,使用原生转场效果。
  • 如果两个页面的导航条返回按钮有不一样的tintColor,转场时候会有一个过渡效果,不会像原生那样立即就改变为目的tintColor
  • 在iOS 8.2或以下系统,如果两个页面的barTintColor不一样之后会出现闪烁现象的BUG修复。
  • 对子页面的view没有任何侵入。


  • 请不要设置navigationBarHiddenYES,如果想隐藏导航条,请使用self.navigationBar.ml_backgroundAlpha = 0.0f;
  • 如果想要隐藏导航条底部阴影条,请使用self.navigationController.navigationBar.ml_backgroundShadowView.hidden = YES
  • 尽量让translucent保持为YES,因为它若为NO,则导航器里的页面的头部会保持在导航条之下,这样的话,若对导航条背景设置透明度的话,就会透出下面的view,产生异常效果。

Latest podspec

    "name": "MLNavigationBarTransition",
    "version": "0.0.7",
    "summary": "Advanced navigation bar transition based on official push-pop transition",
    "homepage": "",
    "license": {
        "type": "MIT"
    "authors": {
        "molon": "[email protected]"
    "source": {
        "git": "",
        "tag": "0.0.7"
    "platforms": {
        "ios": "7.0"
    "public_header_files": "Classes/**/*.h",
    "source_files": "Classes/**/*.{h,m,c}",
    "requires_arc": true

Pin It on Pinterest

Share This