UIButton 自动调整按钮字体大小 Swift

2023-12-03

我尝试做一些测验,但我的答案按钮有问题。 简单的事实:文本太长,我尝试使用不同的方法针对单元格自动调整它。我目前的状态:

        for btn in btnArr{
        btn.titleLabel!.minimumScaleFactor = 0.3
        btn.titleLabel!.numberOfLines = 0
        btn.titleLabel!.adjustsFontSizeToFitWidth = true
        btn.titleLabel?.baselineAdjustment = UIBaselineAdjustment.AlignCenters
        //btn.contentEdgeInsets = UIEdgeInsets(top: 3.0,left: 3.0,bottom: 3.0,right: 3.0)
    }

我希望有人能为我提供另一种选择来实现这一目标:)

问候, 帕特里克

EDIT:

 self.view.addConstraint(NSLayoutConstraint(item: btn.titleLabel!, attribute: NSLayoutAttribute.Height, relatedBy: NSLayoutRelation.Equal, toItem: btn, attribute:NSLayoutAttribute.Height, multiplier: 0.99, constant: 0))  

通过自动布局,您可以设置按钮之间的间距以及最大和最小尺寸。在所有标签的代码中使用:

self.button.titleLabel.numberOfLines = 0;
self.button.titleLabel.adjustsFontSizeToFitWidth = YES;

这样,所有标签都会调整文本大小。

对于调整按钮到 titleLabel,请使用 titleLabel 自动布局约束。举些例子:

  [self.view addConstraint:[NSLayoutConstraint constraintWithItem:self.button.titleLabel
                                                          attribute:NSLayoutAttributeHeight
                                                          relatedBy:NSLayoutRelationEqual
                                                             toItem:self.view
                                                          attribute:NSLayoutAttributeHeight
                                                         multiplier:0.5
                                                           constant:0]];

此约束将 titleLabel 的高度定义为 50%self.view高度。现在您可以根据需要调整约束。

这在你的代码中起作用吗?

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

UIButton 自动调整按钮字体大小 Swift 的相关文章

随机推荐

  • 使用 INNER JOIN 从 SQL 转换 UPDATE 以在 MySQL 中使用

    我想在 MySQL 中为我们转换这个 UPDATE product SET price 12 95 FROM product INNER JOIN product to category ON product product id prod
  • 将长日期字符串转换为 R 中的日期

    我有一个日期变量 其格式为 25 APR 2013 03 05 03 000000000 PM 我已将其转换为字符并尝试将其格式化 我确实使用了 as Date 的帮助文档 但它对我没有帮助 我正在尝试找到一种解决方案 将其转换为标准 Y
  • 将列中的类别提取到具有新类别的重复行中

    我有一个看起来像这样的表 Group Name Comment Tag 1 Tag 2 Tag 3 gr1 Joe We are SYSTEM SUGGESTION PAINPOINT gr1 Joe I want PROCESS ATTI
  • Facebook sharer.php 端点不再被弃用吗?

    Facebook sharer php 端点不再被弃用吗 我做了很多挖掘和研究 我们是否仍然可以使用 Facebook 共享对话框 URL 进行共享 http www facebook com sharer sharer php u URL
  • Windows 性能计数器从 PerfMon 中消失

    我对此感到完全困惑 TM 在 Win7SP1 64 位机器上 PerfMon似乎完全否认已安装的自定义性能计数器的知识 我正在使用一个现有的代码库 该代码库在生产机器上完美地安装了计数器 但是当我在我的机器上运行它时 当我使用我添加的计数器
  • Function/OnTap 中的 AlertDialog 设置状态

    新来扑腾 我知道如何设置警报对话框的状态 但需要点击才能实现 gt createPlayer 等功能 它不想重建警报对话框 我想知道当您需要点击警报对话框时如何设置它们的状态 File image GestureDetector onTap
  • MySQL 结合 COUNT、MAX 和 SUM

    在 MySQL 中 我想要一个额外的列来显示特定列的值的总和 但是 我想要求和的数字来自子查询 并且不存储在单独的表中 如下所示 SELECT a ID MAX a COUNT ID AS MAX COUNT FROM SELECT ID
  • Crypto++ 在两个不同的 C++ 程序中加密和解密

    我正在编写一个使用 crypto 库进行加密和解密的代码 我找到了一个用于加密和解密的代码 如下所示 该代码作为一个程序可以正常工作 但是当我分成两个 C 程序时 一个用于加密 另一个用于解密 解密程序给我错误 terminate call
  • 使用 JSFL AS3 CS5.5 访问子/嵌套影片剪辑

    如何在 jsfl 中访问影片剪辑的子级 特别是子级影片剪辑 我已经处于实例级别 flash documents 0 timelines 0 layers 0 frames 0 elements 0 instance 我发现了本文档但仅此而已
  • 性能:Python pandas DataFrame.to_csv 追加逐渐变慢

    最初的问题 我正在循环访问数千个带有 Python Pandas DataFrame 的 pickle 文件 这些文件的行数不同 大约 600 到 1300 之间 但列数不同 确切地说是 636 然后我对它们进行转换 每个转换完全相同 并使
  • 检测用户是否打开或关闭 Wifi 或蓝牙 [关闭]

    Closed 这个问题需要细节或清晰度 目前不接受答案 我们如何使用 Swift 语言确定蓝牙或 Wifi 是否打开 关闭 我的应用程序使用蓝牙或 Wifi 与其他设备进行通信 我们对这些通信没有任何问题 但我们想通知用户 Wifi 和 或
  • 我可以在 WinDbg 中禁用“无法读取动态函数表条目”消息吗?

    我正在使用一个在运行时生成大量代码的程序 并且似乎不会为其生成任何展开数据 我没有这个程序的源代码 我正在为其编写一个插件 当程序挂起时 我使用 WinDbg 闯入它 并尝试使用以下命令获取所有线程的堆栈跟踪 k 除了堆栈跟踪之外 我还沿着
  • RegOpenKeyEx 给出错误 2 或错误 161,两种方式均失败

    我正在尝试从 Windows 服务器读取注册表项 但似乎无法使其在带或不带前导斜杠的情况下工作 如果我尝试 lError RegOpenKeyEx HKEY LOCAL MACHINE SOFTWARE Company Product Se
  • 在java中创建一个用于中断的倒数计时器

    我正在尝试为我正在编写的拼图应用程序实现基于计时器的评分系统 有人可以为我提供一个在 swing 中创建 JLabel 或面板的示例案例 其中包含一个可见的计数计时器 从 0 开始以秒为单位 该计时器在从方法调用时停止 并返回它的值 例子
  • 从包含 nsdictionary 的 nsmutablearray 中删除重复项

    我想从 nsmutablearray 中删除重复项 数组结构 act end date act entry date 13 11 2014 act recurrrance type Daily act start date 2014 11
  • 如何停止使用其他 Java 程序运行的程序

    我一直在实现一个程序来编译和运行其他应用程序 我想知道当我的应用程序发现存在问题时是否有办法终止程序 例如无限循环 我尝试使用 process Destroy 但它杀死了 CMD 而不是具有无限循环的实际程序 非常感谢您的帮助 这是我的代码
  • 在 VS 中点击停止调试时如何优雅地退出 WinForms 应用程序?

    我正在编写一个系统托盘 Winforms 应用程序 它对 Application ApplicationExit 进行一些非常重要的清理 当我在 Visual Studio 中调试时按下停止按钮时 该进程会退出 但不会调用此清理代码 有什么
  • 如何将 JSON 对象作为 nvarchar 插入到 SQL Server 2016

    我想将一些 JSON 对象插入到我的 SQL Server 2016 表中 我的表结构如下 field type nullable default name nvarchar max true Null age nvarchar max t
  • FFT 和加速度计数据:为什么我会得到这个输出?

    我在 StackOverflow 上阅读了有关对加速度计数据执行 FFT 的各种帖子 但没有一个可以帮助我理解我的问题 我正在执行this我的加速度计上的 FFT 实现data数组的方式如下 int length data size dou
  • UIButton 自动调整按钮字体大小 Swift

    我尝试做一些测验 但我的答案按钮有问题 简单的事实 文本太长 我尝试使用不同的方法针对单元格自动调整它 我目前的状态 for btn in btnArr btn titleLabel minimumScaleFactor 0 3 btn t