首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何在iOS 13之前删除导航栏的大标题底部边框?

如何在iOS 13之前删除导航栏的大标题底部边框?
EN

Stack Overflow用户
提问于 2022-11-14 08:22:58
回答 1查看 48关注 0票数 1

我想在iOS 12中隐藏/删除导航栏的大标题底部边框。在新版本中,它工作得很好。

代码语言:javascript
运行
复制
func setupTransparentNavigationBar() {
    let textAttributes = [NSAttributedString.Key.foregroundColor: UIColor.colorWhite()]
    navigationController?.navigationBar.tintColor = UIColor.colorWhite()
    navigationController?.navigationBar.backgroundColor = UIColor.clear
    navigationController?.navigationBar.isTranslucent = true

    if #available(iOS 13, *) {
        let appearance = UINavigationBarAppearance()
        appearance.configureWithTransparentBackground()
        appearance.backgroundColor = .clear
        appearance.titleTextAttributes = textAttributes

        // Customizing our navigation bar
        navigationItem.standardAppearance = appearance
        navigationItem.scrollEdgeAppearance = appearance
    } else {
        navigationController?.navigationBar.titleTextAttributes = textAttributes
        navigationController?.navigationBar.setBackgroundImage(UIImage(), for: .default)
        navigationController?.navigationBar.shadowImage = UIImage()
    }
}

有办法移除这个吗?或者是本地的iOS行为?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-11-14 10:07:43

尝试使用以下分机:

代码语言:javascript
运行
复制
extension UINavigationController {
func hideHairline() {
    if let hairline = findHairlineImageViewUnder(navigationBar) {
        hairline.isHidden = true
    }
}
func restoreHairline() {
    if let hairline = findHairlineImageViewUnder(navigationBar) {
        hairline.isHidden = false
    }
}
func findHairlineImageViewUnder(_ view: UIView) -> UIImageView? {
    if view is UIImageView && view.bounds.size.height <= 1.0 {
        return view as? UIImageView
    }
    for subview in view.subviews {
        if let imageView = self.findHairlineImageViewUnder(subview) {
            return imageView
        }
    }
    return nil
 }
}

在viewWillAppear中使用它:

代码语言:javascript
运行
复制
navigationController?.hideHairline()
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/74428699

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档