【问题标题】:Large navigation bar custom height大导航栏自定义高度
【发布时间】:2022-07-18 18:49:21
【问题描述】:

是否可以更改大导航栏高度?

self.navigationItem.largeTitleDisplayMode = .always 
self.navigationController?.navigationBar.prefersLargeTitles = true
self.navigationController?.navigationBar.addSubview(expandedNavBar)

【问题讨论】:

    标签: ios swift uinavigationbar large-title


    【解决方案1】:

    我认为你不能因为Apple HIG 而改变导航栏的高度。如果你想改变 navigationBar 的高度,你可以移除 navigationBar,你可以像 navigationBar 一样向用户展示你自己的自定义视图

    如果你想让navigationBar大一点,你可以试试这个技巧,在prompt属性中添加一个空字符串。

    self.navigationItem.prompt = ""
    

    【讨论】:

    • 它在顶部添加空间并移动图标,但我需要在底部增加空间。
    • 那么你需要做第一个选项。您必须删除 navigationBar 并制作自己的 customView
    • 你也可以直接将customview添加到页面中(Viewcontroller的顶部,导航栏的正下方),不用移除导航栏。但是没有办法用navigationBar做到这一点@ChikabuZ
    • 我正在寻找更好的解决方案。
    【解决方案2】:

    好的,我是这样找到的:

    let paragraphStyle = NSMutableParagraphStyle()
    paragraphStyle.minimumLineHeight = 200
    let attributes: [NSAttributedString.Key: Any] = [ .paragraphStyle: paragraphStyle]
    
    let navigationBar = navigationController?.navigationBar
    if #available(iOS 13, *) {
        if let appearance = navigationBar?.standardAppearance {
            appearance.largeTitleTextAttributes = attributes
            navigationBar?.standardAppearance = appearance
            navigationBar?.scrollEdgeAppearance = appearance
        }
    } else {
        navigationBar?.largeTitleTextAttributes = attributes
    }
    

    【讨论】:

    • 请注意,仅适用于 iOS 13 及更高版本。
    猜你喜欢
    • 1970-01-01
    • 2012-12-10
    • 2023-04-07
    • 2013-11-19
    • 2018-02-02
    • 1970-01-01
    • 2017-11-07
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多