【问题标题】:Change font of prompt in UINavigationController在 UINavigationController 中更改提示字体
【发布时间】:2018-09-02 10:47:35
【问题描述】:

有人可以帮我更改 NavigationController 上提示字符串中的字体、大小和颜色吗?

在附件中,我想修改“Consulenze”字符串。 谢谢大家

编辑:我已经尝试了找到here 的解决方案,但没有结果。

【问题讨论】:

标签: ios swift uinavigationcontroller uinavigationitem


【解决方案1】:

只需将此代码添加到您的ViewController。您可以使用此代码同时更改 Prompt textcolor -

import UIKit

class ViewController: UIViewController {
    override func viewDidLoad() {
        super.viewDidLoad()

    }
    override func viewWillAppear(_ animated: Bool) {

        for view in self.navigationController?.navigationBar.subviews ?? [] {
            let subviews = view.subviews
            if subviews.count > 0, let label = subviews[0] as? UILabel {
                label.textColor = UIColor.red
                label.font = UIFont.systemFont(ofSize: 30)
            }
        }
    }
}

输出 -

附加 -

【讨论】:

  • 您是否在您的 appdelegate 文件中添加了这些内容?我认为你没有把它放在正确的地方。你可以看到这个 - youtube.com/watch?v=RO8_mqRJO-4&t=203s
  • 我想你没听懂我的问题:那不是导航栏的标题,而是提示字符串。
  • 我明白。该链接仅适用于您可以放置​​自定义代码的位置:)
  • 好的。但是您的回答已经足够清楚了,我将代码直接放在带有选项的确实完成启动中,但是您建议我的代码更改了标题,而不是提示。
  • 如果您提供任何示例代码,我会更容易理解。
【解决方案2】:

您可以尝试以下方法: 1) 在 ViewController 的 viewDidLoad 中添加以下行:

self.navigationController?.navigationBar.tintColor = UIColor.white

let navigationTitleFont = UIFont(name: "Avenir", size: 20)!

self.navigationController?.navigationBar.titleTextAttributes = [NSAttributedStringKey.font: navigationTitleFont]

2) 您可以创建完全自定义的导航栏,只需将 UIView 添加到您的视图顶部并添加所有必要的元素 - 按钮、标签等。

【讨论】:

  • 第一个解决方案没有给我积极的结果,所以我创建了一个假的 nabber,这不是我的本意。无论如何,谢谢,但仍在等待我的问题的答案。
  • 您能否展示代码、如何创建导航栏或显示来自 InterfaceBuilder 的屏幕截图?您能否提供带有导航栏的图像,您希望它的外观如何?现在您提供了 navBar 的实际图像或您希望它的外观?
猜你喜欢
  • 2011-05-02
  • 1970-01-01
  • 1970-01-01
  • 2017-08-25
  • 2014-01-31
  • 1970-01-01
  • 2012-04-19
  • 2012-12-27
  • 2021-09-03
相关资源
最近更新 更多