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

时间:2016-07-21 03:02:57

标签: ios swift xcode swift2 xcode7

我正在尝试在UIButton中放置字母'6',以便当程序在小屏幕设备上运行时字体会自动缩小,这样字母6就在所有边的内部。

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

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

我该怎么办?

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。

设计时按钮的图片:

enter image description here

运行时按钮的图片:

enter image description here

2 个答案:

答案 0 :(得分:1)

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

答案 1 :(得分:0)

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