如何在搜索处于活动状态时更改statusBar背景颜色?

时间:2015-09-30 06:09:35

标签: ios swift uisearchbar

我使用过UISearchController。当我点击搜索栏时,导航栏隐藏,搜索栏会显示在屏幕顶部。但是,它显示屏幕顶部和搜索栏之间的额外空间

enter image description here

如何将statusBar颜色更改为默认的searchBar灰色?

enter image description here

StatusBar字体颜色为白色,因此当用户点击搜索栏时,自动上方状态栏信息变为不可见。所以我只需要用默认的灰色覆盖该区域,然后用户可以清楚地看到状态栏。就像这样< / p>

enter image description here

3 个答案:

答案 0 :(得分:2)

额外的空间是您在白色背景中丢失的状态栏。

func viewDidLoad() {
    super.viewDidLoad()
    edgesForExtendedLayout = UIRectEdge.None
}

答案 1 :(得分:1)

您可以根据您的实施尝试以下方法之一:

如果您正在使用故事板单击您为tableview设置的视图控制器或TableView控制器,并转到其属性检查器并查看ViewController部分,并将Extend Edges部分设置为在顶栏下。

如果你没有使用故事板使用viewcontrollers edgeForExtendedLayout属性设置设置,这应该可以解决问题。

答案 2 :(得分:1)

想出来,只需要将此代码添加到viewDidLoad: -

definesPresentationContext = true