繁体   English   中英

你如何用大标题的搜索栏来圆 UINavigation 栏的底角

[英]How do you round bottom corners of UINavigation bar with a search bar using large titles

尝试使用搜索栏和大标题创建 UINavigationBar 时,如何将导航栏底部设置为圆角?

        self.navigationController?.navigationBar.prefersLargeTitles = true              
    search.searchBar.delegate = self
            search.searchBar.sizeToFit()
            search.obscuresBackgroundDuringPresentation = false
            search.hidesNavigationBarDuringPresentation = true
            self.definesPresentationContext = true
            search.searchBar.placeholder = "Search here"
            self.navigationItem.searchController = search

在此处输入图像描述

自定义导航栏有些困难。 但是有一种简单的方法可以使用背景图像来实现它。 您可以将图像设置为导航栏。

stackoverflow 中的其他人已经提出了问题,因此请参考该答案。

访问: https ://stackoverflow.com/a/61620703/12775090

所以我发现这行得通,但是,现在我的搜索栏文本在紫色和白色上是黑色的? - 我必须将视图的背景颜色设置为紫色,然后在视图顶部放置一个白色背景视图。 想法?

override func viewDidLoad() {
    super.viewDidLoad()
    
    self.navigationController?.navigationBar.prefersLargeTitles = true
    self.navigationController?.navigationBar.layer.cornerRadius = 30
    self.navigationController?.navigationBar.layer.maskedCorners = [.layerMinXMaxYCorner, .layerMaxXMaxYCorner]
    self.navigationController?.navigationBar.clipsToBounds = true
    
    let app = UINavigationBarAppearance()
    app.largeTitleTextAttributes = [NSAttributedString.Key.foregroundColor: UIColor.white]
    app.titleTextAttributes = [NSAttributedString.Key.foregroundColor: UIColor.white]
    app.backgroundColor = UIColor(red: 0.30, green: 0.07, blue: 0.63, alpha: 1.00)
    
    self.navigationController?.navigationBar.scrollEdgeAppearance = app
    
     self.navigationController?.navigationBar.isOpaque = true
    search.searchBar.delegate = self
    UISearchBar.appearance().tintColor = .white
    search.searchBar.searchTextField.textColor = .white
    search.searchBar.sizeToFit()
    search.obscuresBackgroundDuringPresentation = false
    search.hidesNavigationBarDuringPresentation = false
    self.definesPresentationContext = true
    search.searchBar.placeholder = "Search here"
    self.navigationItem.searchController = search
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM