导航项中的搜索控制器显示黑条

Search Controller in navigation item show black bar

您好,我已经使用

设置了搜索控制器
private func setupSearchbar() {
        searchController = UISearchController(searchResultsController: nil)
        searchController.searchResultsUpdater = self
        searchController.obscuresBackgroundDuringPresentation = false
        searchController.searchBar.placeholder = "Search Contacts"

        self.navigationItem.searchController = searchController
        self.definesPresentationContext = true

    }

在我添加这段代码之前一切正常

    UINavigationBar.appearance().isOpaque = true
    UINavigationBar.appearance().isTranslucent = false
    UINavigationBar.appearance().barTintColor = UIColor(named: "PrimaryDark")
    UINavigationBar.appearance().tintColor = UIColor.white
    UINavigationBar.appearance().titleTextAttributes = [NSAttributedString.Key.font:Constants.AppTheme.Fonts.font(type: .FONT_BOLD, size: 22) ,NSAttributedString.Key.foregroundColor:UIColor.white]

    UINavigationBar.appearance().largeTitleTextAttributes   = [NSAttributedString.Key.font:Constants.AppTheme.Fonts.font(type: .FONT_BOLD, size: 34) ,NSAttributedString.Key.foregroundColor:UIColor.white]

现在当我点击搜索栏时会出现大底黑条

如何解决这个问题?

查看调试

删除这个

UINavigationBar.appearance().isOpaque = true

UINavigationBar.appearance().isTranslucent = false

好的,我可以解决这个问题。我正在分享这个,所以这可能对其他面临同样问题的人有所帮助。

解决这个问题。在视图中会出现我已将 self.extendedLayoutIncludesOpaqueBars 设置为 true

的方法
 override func viewWillAppear(_ animated: Bool) {
        super.viewWillAppear(animated)
        self.extendedLayoutIncludesOpaqueBars = true

    }

希望对某人有所帮助:)

这是输出