可以在 IB 的导航栏中自定义提示字符串的字体吗?

Posted

技术标签:

【中文标题】可以在 IB 的导航栏中自定义提示字符串的字体吗?【英文标题】:Possible to customize font of prompt string in nav bar on IB? 【发布时间】:2017-08-04 23:35:56 【问题描述】:

是否可以自定义提示字符串?

我已将 navigationBarItem 连接到我的 ViewController 并通过 IB 添加了一个字符串作为“提示”。提示类后面没有允许我更改字符串、颜色等内容的属性。我想知道是否有人知道解决此问题的任何其他可能的解决方法?

【问题讨论】:

【参考方案1】:

可以自定义提示的外观,但有一个很大的限制,提示的样式和标题的样式总是一样的。

假设您在带有导航栏的导航控制器中显示的 UIViewController 中,您可以这样做:

guard let font = UIFont(name: "Helvetica", size: 17) else 
   return


let navigationBar = navigationController?.navigationBar
navigationBar?.titleTextAttributes = [NSFontAttributeName: font,
                                                            NSForegroundColorAttributeName: UIColor.blue]

您还可以使用UINavigationBar.appearance() 方法在您的应用中的所有导航栏提示上进行此配置。

【讨论】:

它说 titleTextAttributes 不能用于 UINavigationBar 类型 抱歉,这是基于 appearance() 代理的代码。我编辑了我的帖子以使其更清晰。 这对我不起作用,提示的颜色和字体没有改变。死胡同?

以上是关于可以在 IB 的导航栏中自定义提示字符串的字体吗?的主要内容,如果未能解决你的问题,请参考以下文章

iOS 11 在导航栏中自定义搜索栏

导航栏中的标题太长

导航栏中的自定义字体截断使用分号而不是省略号

如何在颤动中自定义标签栏宽度?

如何更改导航栏中按钮文本的字体大小?

在 Linux 终端中自定义 Bash 配色和提示内容