对于不同的语言环境,错误的宽度返回sizeWithAttributes

时间:2018-11-06 12:02:07

标签: ios objective-c ios11

我有一个UIButton,其大小是根据NSString self.currentTitle计算的。 self.titleLabel是UIButton标签。API用法如下:

CGFloat textSizeWidth = [self.currentTitle sizeWithAttributes:@{NSFontAttributeName : self.titleLabel.font}].width;

返回的文本宽度进一步用于设置UIButton的宽度,因为它是安静的变体。它在英语语言环境中工作正常,但是当我尝试使用日语字符时,返回的宽度似乎不正确,因为按钮标签被截断了。 self.titleLabel是一个NSString,因此我假设它也适用于日语。处理此问题的任何输入都将很有用。

1 个答案:

答案 0 :(得分:0)

当所有字符均为中文/日文时会发生这种情况。 可能的解决方法是在字符串中使用多余的空格,并且返回的长度现在正确了