【问题标题】:How to assign dynamic text styles in Xcode 11?如何在 Xcode 11 中分配动态文本样式?
【发布时间】:2020-02-07 05:29:34
【问题描述】:

编辑:可能的错误。寻求修复或解决方法……

在使用 Xcode 11 时,如何让系统的文本样式在界面生成器中可用?

我这周刚开始使用 Xcode 11。在界面构建器(故事板模式)中,当我使用“字体”->“样式”弹出菜单为标签或按钮分配动态类型文本样式时,弹出菜单中缺少所有文本样式。

我也选中了动态类型“自动调整字体”复选框。

我不确定这是一个错误、我找不到文档的故意更改,还是其他原因。

Apple 的开发人员文档“Scaling Fonts Automatically”中描述了预期的行为。具体来说,在“使用 Interface Builder 配置文本样式”部分。

进一步探索:我已经尝试过新项目、旧项目(来自 Xcode 10)、针对 iOS 12.2 和 13.1 的项目。都存在弹出菜单中没有文字样式的问题。

【问题讨论】:

  • 你是什么意思动态文本样式?你选了什么字体?
  • Mojtaba:我指的是 Xcode 10 中的文本样式,如“标题”和“正文”,用于动态类型缩放,如 Apple 的“缩放字体”文档中所述自动”:developer.apple.com/documentation/uikit/uifont/…(是的,Apple 的术语在这里有点令人困惑,因为它们在引用文本时的“动态类型”与在引用变量时更常见的“动态类型”用法无关)
  • 你选择什么字体?我可以在我的 Xcode 11 中看到这些
  • 我和你有同样的问题,格兰特。我昨天刚更新到 Catalina,我认为样式在那之前就已经存在了。
  • 在尝试设置文本样式之前,我没有选择任何字体(我将其保留为默认的“系统”)。我还没有升级到 Catalina——仍在 Mojave (10.14.6) 上。我的 Xcode 版本是最新的:11.1。所以,如果 Steve 和我看到同样的问题,它可能与操作系统无关,而是 Xcode 中的一个错误。

标签: interface-builder xcode11 dynamic-type-feature


【解决方案1】:

从 Xcode 11.0 升级到 Xcode 11.1 或 11.2 beta 2 时,我遇到了同样的问题:

Xcode 11.0:

Xcode 11.1:

我还向 Apple 提交了错误报告 (FB7415999),并且还向他们提出了问题。

**我目前的解决方案是降级到 Xcode 11.0 用于 UI 开发和并行安装 Xcode 11.2 beta 以在设备上运行**

【讨论】:

  • 即使在我的开发机器上全新安装 Catalina 也无济于事。在新项目以及我当前的项目中,我在 Xcode 11.2(应用商店中的当前版本)中没有文本样式。
【解决方案2】:

这可能是 Xcode 11.1 中的一个错误。我遇到了同样的事情并向 Apple 提交了一个错误(FB7368959)。一位在 Catalina 上运行 Xcode 11.1 的同事没有遇到同样的问题,另一位在 Mojave 上运行 Xcode 11.1 的同事也没有。

这是一个让我重回正轨的解决方法:我在 Xcode 10.3 和 11.2 测试版中都打开了有问题的项目。在这两种情况下,动态类型样式都在 IB 中可用。我没有改变任何东西,而是恢复到 Xcode 11.1,现在样式也在那里。希望这适用于格兰特和其他任何遇到这种烦恼的人。

2020 年 3 月 17 日编辑: 我在 Xcode 11.3.1 上再次出现了这个问题。它似乎发生在一个特定的项目上,当我打开那个项目时,问题就蔓延到了第二台机器上。当我在 11.4 beta 3 中打开项目时,我的解决方法没有帮助。

【讨论】:

  • Mojave 上的 Xcode 11.0 很好,但使用 Xcode 11.1 我遇到了同样的错误。不过 Xcode 11.2 beta 对我没有帮助 :( 这个 bug 让我目前无法使用 Xcode 11.1。
猜你喜欢
  • 1970-01-01
  • 2010-12-17
  • 1970-01-01
  • 1970-01-01
  • 2010-11-12
  • 2021-10-26
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多