提问者:小点点

当我切换另一页时,导航栏的顶部会变成黑色雨燕5


当我点击搜索图标时,我切换了另一个页面并将搜索栏添加到导航栏中,但切换之后,导航栏的顶部变成了黑色。

塞盖之前:

塞格之后:

class SearchViewController: UIViewController, UISearchBarDelegate {

    let searchController = UISearchController(searchResultsController: nil)
    
    override func viewDidLoad() {
        super.viewDidLoad()
        
        setupSearch()                    
    }
        
    func setupSearch() {
        searchController.searchBar.backgroundColor = #colorLiteral(red: 0.1333333333, green: 0.1333333333, blue: 0.1333333333, alpha: 1)
        navigationController?.navigationBar.backgroundColor = #colorLiteral(red: 0.1333333333, green: 0.1333333333, blue: 0.1333333333, alpha: 1)
        navigationItem.searchController = searchController
        UITextField.appearance(whenContainedInInstancesOf: [UISearchBar.self]).defaultTextAttributes = [NSAttributedString.Key.foregroundColor: UIColor.white]
        searchController.searchBar.delegate = self
    }
}

共3个答案

匿名用户

情节提要->; 导航控制器->; 取消选中“显示”导航栏,然后再次运行。

匿名用户

尝试从下面的代码中添加扩展布局的边缘

 self.navigationController?.navigationBar.isTranslucent = true
 self.edgesForExtendedLayout = UIRectEdge.all

也可以从XIB/情节提要中进行。

匿名用户

我通过给我的视图添加背景色来解决这个问题。

view.backgroundColor = #colorLiteral(red: 0.1333333333, green: 0.1333333333, blue: 0.1333333333, alpha: 1)

然后我又添加了一个白色的视图。 我不知道这是不是正确的方式,但问题解决了。