更改字体大小以完全适合按钮内的文本?

我试图在UIButton中放置字母’6’,以便当程序在小屏幕设备上运行时字体自动缩小,使得字母6在所有边的内部。

我找到了其他几个线程为同样的问题提供解决方案但由于某种原因它们不适合我。 我找到的一些主题是:

  • 我如何让文字适合UIButton?

  • 调整文本的字体大小以适合UIButton

  • 自动更改字体大小以适应swift中的按钮

我尝试了以下两个代码序列但没有完成任务:

我该怎么办 ?

1:

self.sixButton.titleLabel!.numberOfLines = 0; self.sixButton.titleLabel!.adjustsFontSizeToFitWidth = true; self.sixButton.titleLabel!.lineBreakMode = NSLineBreakMode.ByWordWrapping 

2:

 self.sixButton.titleLabel!.minimumScaleFactor = 0.5; self.sixButton.titleLabel!.numberOfLines = 0; self.sixButton.titleLabel!.adjustsFontSizeToFitWidth = true; 

3:与上面相同但是使用self.sixButton.titleLabel!.numberOfLines = 1;

我正在使用Swift 2.2和Xcode 7.3.1。

设计时按钮的图片:

在此处输入图像描述

运行时按钮的图片:

在此处输入图像描述

我要做的是在连续较小的字体大小中测量“6”的大小,直到我们达到适合所需边界的大小,并使用该大小。

我的解决方案是使标签和隐形按钮一起工作。 隐形按钮位于标签的顶部。 标签中文本的行为比我的经验中的按钮更灵活,更可预测。 这可能不是最聪明或最简洁的解决方案,但它工作得很好而且实施起来很轻松。 您只需要确保您的约束使按钮和标签保持对齐。