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的约束,然后重新设置。