sizeToFit 在非常短的字符串周围放置填充

Posted

技术标签:

【中文标题】sizeToFit 在非常短的字符串周围放置填充【英文标题】:sizeToFit is placing padding around very short strings 【发布时间】:2015-08-15 15:48:29 【问题描述】:

我有一个 UIButton,我在设置其标题后调用 sizeToFit。在标题文本很短(可能 sizeToFit 时遵守的内部最小宽度。有谁知道如何防止这种填充?

【问题讨论】:

请附上代码的 sn-p。否则,这只是一个猜谜游戏。 【参考方案1】:

这行得通,只需将字符串更改为任何字符串,然后享受调整大小的奇迹。

NSString * helloKitty = @"I love cats";
UIButton * ss = [UIButton buttonWithType:UIButtonTypeCustom];
[ss setTitle:helloKitty forState:UIControlStateNormal];
[[ss titleLabel] setFont:[UIFont systemFontOfSize:14]];
[ss setBackgroundColor:[UIColor pink] forState:UIControlStateNormal];
CGSize strSizer = [helloKitty sizeWithAttributes:@NSForegroundColorAttributeName:[UIColor blackColor],
                                                 NSFontAttributeName:[UIFont systemFontOfSize:14]];

[ss setFrame:CGRectMake(100,200,strSizer.width, strSizer.height)];
[self.view addSubview:ss];

【讨论】:

以上是关于sizeToFit 在非常短的字符串周围放置填充的主要内容,如果未能解决你的问题,请参考以下文章

使用 gsub/regex 在字符串内的名称周围放置引号

具有 sizeToFits() 的标签超出范围

如果 sizeToFit 依赖于 layoutSubviews,如何实现?

UITableViewCell`sizeToFit`中的UILabel在AutoLayout的单元格内不起作用

在 StackPanel 上填充?

在很短的时间内连接非常大(~TByte)的文件