【问题标题】:Is it possible to set the font size for all fonts in a Swift iOS app?是否可以为 Swift iOS 应用程序中的所有字体设置字体大小?
【发布时间】:2018-11-27 22:42:45
【问题描述】:

为了用户友好,我希望让用户在设置页面中自定义整个应用程序的字体大小。

与其找出每一种字体并为其设置样式,有什么解决方案可以一次性设置整个字体的大小吗?

【问题讨论】:

  • 你不需要做任何特别的事情,只是不要在你的应用程序中对字体进行硬编码。而是使用 UIFont.preferredFont(forTextStyle:) 在 iOS 设置中,用户可以更改他们喜欢的字体大小,这样您的应用就可以自动适应它

标签: swift cocoa-touch font-size


【解决方案1】:

您不应该将所有文本设置为相同大小,因为这样看起来不好或不清晰,并且与 Apple's Interface Guidelines 的排版相违背。

这与“用户友好”相反。您需要一些visual weight/hierarchy 来区分内容的各个部分及其重要性,并集中用户的注意力。如果所有东西的大小都一样,就很难找到他们需要的东西。

因此,考虑到这一点,您不能只为它们设置 1 个设置 - 您需要为应用中的每种文本类型设置单独的设置。 Apple 已经在操作系统级别为您构建了此功能。

这称为“Dynamic Type”,它可以让您根据特定类型的目的set text sizes - 标题、副标题、标题、正文、说明等。您不必手动查找/更改字体。

例如:

let headlineFont = UIFont.preferredFont(forTextStyle: UIFontTextStyle.headline)
let subheadFont = UIFont.preferredFont(forTextStyle: UIFontTextStyle.subheadline)

这不是您询问的应用内设置,而是在 iOS 系统设置中设置的。用户在“设置”中选择的任何默认字体大小都将反映在您的应用中。这还要求您考虑每个元素是什么类型的文本。是标题、标签、标题等。

【讨论】:

    猜你喜欢
    • 2014-05-22
    • 2016-02-05
    • 1970-01-01
    • 1970-01-01
    • 2011-02-12
    • 2017-01-31
    • 2018-09-26
    • 2012-01-22
    • 2013-07-08
    相关资源
    最近更新 更多