【问题标题】:iOS Storyboard - any way to change font size based on screen size?iOS Storyboard - 有什么方法可以根据屏幕大小更改字体大小?
【发布时间】:2017-09-28 04:59:34
【问题描述】:

我希望能够在不编写代码的情况下按屏幕大小缩放情节提要上的字体大小,这可能吗?

我已经尝试设置约束来调整标签并设置字体缩放因子,但是接下来会发生什么取决于文本的长度,我最终会得到一个具有不同字体大小而不是所有字体的屏幕那个屏幕大小一样?

【问题讨论】:

标签: ios iphone swift xcode storyboard


【解决方案1】:

Xcode 提供自动缩小功能,可根据屏幕大小进行调整 转到属性检查器-> Autoshrinks -> 最小字体比例设置为 0.5 或您想要的值。

以编程方式

label.adjustsFontSizeToFitWidth = true
label.minimumScaleFactor = 0.5

【讨论】:

  • 嗨,已经尝试过了,但在我最初的问题中,我说他取决于标签中有多少文本,然后它可能不会压缩文本,所以你最终可以得到一个有很多不同的屏幕字体大小
  • @Michael 请详细说明,因此我可以回答
  • 我想在 iPhone SE 屏幕上缩放字体。我有一个包含单元格的表格视图。单元格包含一个标签,该标签中的文本长度因单元格而异。如果我设置最小字体比例或大小,它适用于标签末尾的文本,但对于包含仅包含一半文本的标签,则字体大小保持不变,因此每个单元格的字体不一致,具体取决于关于标签中有多少文本。理想情况下,我希望它计算出最长的标签,然后得到缩放的字体大小,然后将所有标签缩放到相同的字体大小,这样它们看起来都一样。
  • @Michael 您是否尝试过添加UILabel 并使用tableView.estimatedRowHeight = 85.0 tableView.rowHeight = UITableViewAutomaticDimension 约束顶部、底部、前导和尾随?
  • 是的,但我不希望单元格的大小随标签一起扩大,我只想缩小字体大小,因为单元格上有其他内容,我想显示的标签是 1仅行长
【解决方案2】:

您可以根据不同的设备在属性检查器中添加变体:

但是请注意,这不会区分所有设备...

【讨论】:

  • 嗨,是的,但是纵向的 iPhone 总是紧凑的宽度和常规的高度,所以它不起作用
  • 是的。取决于你到底想达到什么目标。
  • 所有 3 种纵向 iPhone 尺寸的字体大小都不同
  • @Michael 更改设计中的自动布局约束并让这些标签能够扩展到更多行,这样他们就可以优雅地将文本垂直分布在屏幕较少的设备上,这不是更好吗?房地产?
  • @valeCocoa 是的,这是个好主意,但问题是小屏幕看起来用较小的字体看起来更好,否则屏幕看起来会在我的选项中放大?
猜你喜欢
  • 1970-01-01
  • 2023-03-11
  • 2012-01-01
  • 1970-01-01
  • 2021-02-02
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多