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

Ios 在导航项中搜索控制器显示黑条,ios,swift,uinavigationbar,uisearchcontroller,Ios,Swift,Uinavigationbar,Uisearchcontroller,您好,我已使用安装搜索控制器 private func setupSearchbar() { searchController = UISearchController(searchResultsController: nil) searchController.searchResultsUpdater = self searchController.obscuresBackgroundDuringPresentation = false

您好,我已使用安装搜索控制器

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.extendedlayoutinclude不透明条设置为
true

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

    }
希望对某人有所帮助:)

这是输出


谢谢你的回答,但这是我不想做的。我需要此属性。这是UITableView标题空间。检查此答案@BryanP不,这不是,直到我添加了UINavigationBar代码,这才起作用。黑色是viewController视图默认颜色的背景色。设置viewcontroller视图颜色。同时还要检查tableview的约束。@PratikSodha视图默认颜色为白色,您的意思是UIWindow颜色,是的,我已正确设置了所有约束(上、左、下、右,0常量,无边距)@PrashantTukadiya请尝试删除tableview的约束,然后重新设置。