首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何让文本适合UIButton?

如何让文本适合UIButton?
EN

Stack Overflow用户
提问于 2012-12-02 12:34:22
回答 5查看 27.4K关注 0票数 23

问题:

按钮大小是足够的,但是当我更改标题时,标题文本无法适应按钮的宽度。任何SDK函数都可以解决这个问题,还是需要我手动编写代码才能解决?

请参考下面的图片。

在nib文件中进行设计。

模拟器中的初始显示

当我更改标题文本时

以前尝试过一些方法

  1. _button.titleLabel.adjustsFontSizeToFitWidth =是;

这种方式会改变我的字体大小。我不能接受这种方式。

  • _button setTitleEdgeInsets:UIEdgeInsetsMake(10.0,10.0,0.0,0.0);这种方式只改变label的位置,而不改变label size.

  • _button.titleLabel sizeToFit;

结果与picture(3).

  • _button sizeToFit一致;

标题移到了左上角,但结果仍然是一样的。

只是有点迷惑,我的按钮已经够大了,为什么标题这么小?

EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2014-05-11 20:19:25

使用这个。

Objective-c

代码语言:javascript
复制
button.titleLabel.numberOfLines = 1;
button.titleLabel.adjustsFontSizeToFitWidth = YES;
button.titleLabel.lineBreakMode = NSLineBreakByClipping; 

Swift 2.0

代码语言:javascript
复制
button.titleLabel?.numberOfLines = 0
button.titleLabel?.adjustsFontSizeToFitWidth = true
button.titleLabel?.lineBreakMode = NSLineBreakMode.ByWordWrapping

注: Swift代码礼貌:@瑞秋·哈维

Swift 5.0

代码语言:javascript
复制
button.titleLabel?.numberOfLines = 0
button.titleLabel?.adjustsFontSizeToFitWidth = true
button.titleLabel?.lineBreakMode = .byWordWrapping
票数 43
EN

Stack Overflow用户

发布于 2013-04-18 01:59:09

对于遇到这个问题的人:

尝试使用setter:

代码语言:javascript
复制
 [self.myButton setTitle:@"Title" forState:UIControlStateNormal];
 [self.myButton sizeToFit];
票数 13
EN

Stack Overflow用户

发布于 2014-08-06 21:03:27

还要确保标签不会调整后面的间距,因为这似乎优先于调整字体大小。还要确保minimumScaleFactor < 1。

代码语言:javascript
复制
button.titleLabel.adjustsFontSizeToFitWidth = YES;
button.titleLabel.adjustsLetterSpacingToFitWidth = NO;
button.titleLabel.minimumScaleFactor = 0.5;
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13666431

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档