搜索活动时如何更改状态栏背景颜色?

How to change statusBar background color when search is active?

我用过 UISearchController。当我点击搜索栏时,导航栏隐藏,搜索栏转到屏幕顶部。但是,它在屏幕顶部和搜索栏

之间显示了额外的 space

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

StatusBar字体颜色为白色,因此当用户点击搜索栏时,状态栏上方的信息自动变为invisible.So我只需要默认灰色覆盖该区域,然后用户可以清楚地看到状态bar.Like这个

额外的 space 是您的状态栏,您在白色背景中迷路了。

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

您可以根据您的实施情况尝试以下其中一项:

如果您使用的是故事板 单击您为表格视图设置的视图控制器或 TableView 控制器,然后转到其属性检查器并查看 ViewController部分并将“延伸边缘”部分设置为位于“顶栏”下方。

如果您不使用故事板,请使用视图控制器 edgesForExtendedLayout 属性 进行设置,这样就可以了。

想通了,只需要将此代码添加到 viewDidLoad :-

definesPresentationContext = true