Swift 3 - 调整字体大小以适合宽度、多行

2024-03-01

我有一个 UILabel,它设置为 42.0 pt 字体,并且标签的宽度是使用基于标签本身以外的因素的自动约束设置的(也就是标签右侧和左侧的内容决定标签的宽度)。

我想自动调整字体大小以适应标签的宽度,但也可以的话分成两行。与此类似:

我知道您可以调整字体大小以适应标签的宽度,但前提是行数设置为 1。

我将如何实现这个目标?


这会起作用..

  • Set 最小比例因子为你的标签。如该图所示。
  • Set 调整字体大小以适合宽度 to true
  • 设置行数 = 2 // 如果您想要更多行数,则设置为零 (0)
  • 将 2 行的换行模式设置为“.byTruncatingTail”

Swift 5
将动态文本信息的行数设置为零,这对于改变文本很有用。

var label = UILabel()
let stringValue = "A label\nwith\nmultiline text."
label.text = stringValue
label.numberOfLines = 2 // 0
label.lineBreakMode = .byTruncatingTail // or .byWrappingWord
label.minimumScaleFactor = 0.5 // It is not required but nice to have a minimum scale factor to fit text into label frame
label.adjustsFontSizeToFitWidth = true //needed in Swift 5

另外,请勿为标签设置超过 2 行的高度限制。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Swift 3 - 调整字体大小以适合宽度、多行 的相关文章

随机推荐

  • 如何获取Gridview底层数据源?

    我在框架 3 5 下的 ASP NET Web 应用程序中有 gridview 我将 gridview 与 List 绑定 网格内部有运行良好的更新和删除功能 但是我的保存功能 我决定从数据源中提取列表 然后通过循环将新列表插入数据库 但是
  • Java中人工生成cpu负载

    有没有一种简单的方法可以在 Java 中生成恒定的 CPU 负载 就像生成 60 的 CPU 负载一样 有点晚了 但只是想分享我创建了一个名为的小型开源客户端库FakeLoad https github com msigwart fakel
  • jQuery 在 DOM 中获取特定元素之后的下一个匹配项

    我不愿意承认这一点 但我一直在努力弄清楚如何做到这一点 例如假设您具有以下结构 div div ul li a href img class foo a li li a href img class bar a li li a href i
  • 快速教程----函数中的“条件”是什么意思?

    I know that in the first line we can use lessThanTen number Int to replace int and contidion means a label but in the th
  • 此绑定的转换器参数应该是什么

    我正在尝试实现一个 wpf 用户控件 该控件使用转换器将文本框绑定到双精度列表 如何将用户控件的实例设置为转换器参数 控件的代码如下所示 Thanks
  • Pyautogui TypeError:“NoneType”对象不可迭代

    我正在尝试使用locateCenterOnScreen PyAutoGUI 的功能 但是它会引发 Traceback most recent call last File C Users windows Desktop asd py lin
  • JavaScript - 在 display:none 和 display:block 之间添加过渡

    我正在使用 JavaScript 来切换通知 如下所示 如何添加之间的过渡display block and display none 我不想添加像 jQuery 这样的外部库 因为我只会使用toggle单独作用 var btn docum
  • PHP 扩展 (memcache|memcached) 未显示在 phpinfo() 中,但显示在 php -m 和 php -i 中?

    当我使用时 我将两个模块列为已安装 配置 php m 或者如果我使用 php i 但是当我使用时 m new Memcache or m new Memcache or m new Memcached or m new Memcached
  • 如何随着标签宽度的增加对齐所有字段

    我有一个表单 其中标签位于左侧 字段位于右侧 当标签包含少量文本时 此布局非常有效 我可以轻松设置min width标签上 以确保它们与田地的距离相同 在下面的第一张图片中 这按预期工作 当标签的文本变得太长时就会出现问题 它要么溢出到下一
  • XQuery 获取属性列表

    如果我有几个SectionXML 文档中的元素 我使用什么 XQuery 来获取所有元素的列表name values section 在 XPath 2 0 XQuery 的子集 中 可以使用以下表达式来获取 Section 元素的 nam
  • Django 1.6 和 Celery 3.0 内存泄漏

    将 Django 升级到 1 6 后 我的 celery Worker 正在耗尽 RAM 似乎分配给工作人员的内存没有被释放 并且在每次任务后都会增加 相关设置 DB DATABASES default ENGINE django db b
  • python + googledrive:上传xlsx,转换为googlesheet,获取可共享链接

    我想要的程序的流程是 上传 xlsx 电子表格到驱动器 它是使用 pandas 创建的to excel 将其转换为 Google 表格格式 指定任何知道该链接的人都可以对其进行编辑 获取链接并与将输入信息的人共享 下载完成的表格 我目前正在
  • JavaScript 保留关键字

    我想知道 JavaScript 的保留关键字 函数是如何管理的 Example 根据 http www quackit com javascript javascript reserved words cfm http www quacki
  • JSF2/PrimeFaces 中的命名容器 [重复]

    这个问题在这里已经有答案了 PrimeFaces 中可能的命名容器有哪些 当我们想要使用以下命令更新表单上的某些 UI 控件时 为什么需要为 Ajax 更新调用附加命名容器 idupdate mainForm MainAccordian u
  • Visual Studio Code 中的语言可以扩展吗?

    Scenario 我有 JSON 文件 描述了一系列要执行的任务 其中每个任务都可以引用 JSON 文件中的其他任务和对象 tasks id first action doSomething result id second action
  • 如何使用python解压文件

    我怎样才能提取一个 zip or rar使用 Python 文件 迟到了 但我对任何答案都不满意 pip install patool import patoolib patoolib extract archive foo bar rar
  • 我可以使用 URL 打开 Windows 8 应用程序吗?

    我正在创建一个具有共享会话功能的应用程序 例如 私人应用程序到应用程序的聊天会话 我会启动应用程序并创建一个 聊天室 然后通过电子邮件与某人 共享 我想要做的是创建一个 URL 当单击它时 它会打开您计算机上的应用程序 如果我邀请您到我的
  • 在 C# Windows 窗体应用程序中捕获 Ctrl + Shift + P 击键 [重复]

    这个问题在这里已经有答案了 可能的重复 在 Windows 窗体应用程序中捕获组合键事件 https stackoverflow com questions 3062587 I need to perform a particular op
  • Java使用索引来一一显示数组

    我在按索引显示数组时遇到问题 我不知道为什么会发生这种情况 任何帮助将不胜感激 这是我的代码片段 create token2 String token2 create Scanner inFile2 Scanner inFile2 new
  • Swift 3 - 调整字体大小以适合宽度、多行

    我有一个 UILabel 它设置为 42 0 pt 字体 并且标签的宽度是使用基于标签本身以外的因素的自动约束设置的 也就是标签右侧和左侧的内容决定标签的宽度 我想自动调整字体大小以适应标签的宽度 但也可以的话分成两行 与此类似 我知道您可