自动调整不同设备的字体大小的最佳方法?



所以,我的应用程序中有很多标签,就像所有东西一样,它们具有自动布局功能,它工作得很好,但对于它们内部的文本。标签布局按预期进行,但其中的文本在较小的设备中被剪切。

为了避免这种情况,我尝试在界面构建中使用 AutoShrink 选项,但它变得非常混乱,如您在图片中看到的那样:

不带自动收缩功能的 iPhone 7 模拟

没有自动收缩的 iPhone SE 模拟

使用 AutoShrink 进行 iPhone SE 模拟

因此,如您所见,所有标签彼此收缩不同,导致不同大小的文本破坏了应用程序和谐和设计。

处理这种情况的最佳方法是什么?如果我需要缩小一个标签,我该如何做到这一点,所有这些标签都会缩小到相同的大小?

您可以使用 adjustsFontSizeToFitWidth 和 minimumScaleFactor:

label.adjustsFontSizeToFitWidth = true
label.minimumScaleFactor = 0.5

这将为长字符串创建一个较小的文本。

您还可以使用NumberOfLines为标签添加更多行。
我认为第一个解决方案更适合您。

最新更新