iOS中如何使状态栏与下面的搜索栏或NavigationBar或toolBar颜色一致

在iOS7之后,status bar是透明的(transparent),navigation bars,tab bars,toolbars,search bars 和 scope bars 是半透明的(tranlucent)。

在设置这些Bar的背景颜色或者背景图片后,就需要使用下面的方法对StatusBar进行拓展,当然不扩展的后果就是颜色不匹配

添加方法如下,注意返回值的不同

- (UIBarPosition)positionForBar:(id<UIBarPositioning>)bar{

  return UIBarPositionTopAttached;//使状态栏与搜索栏颜色一致

}

  • UIBarPositionTopAttached 表示一个bar位于屏幕的顶部并且他的背景扩展到导航栏的区域;
  • UIBarPositionTop 表示一个bar位于its local context的顶部,例如,位于一个popover的顶部,并且不为状态栏提供背景。
原文地址:https://www.cnblogs.com/jackma86/p/4982253.html