我在iPhone上聊天应用程序。 我有sizeWithFont的问题:constrainedToSize:lineBreakMode函数。 当NSString有一个长长的空格时,sizeWithFont()总是返回(宽度:218,高度:18)
这是我的测试代码。
NSMutableString *string = [[NSMutableString alloc]initWithString:@""];
for(NSInteger i = 0; i < 99; i++) {
[string insertString:@" " atIndex:0];
NSInteger length = string.length;
CGSize size = [string sizeWithFont:[UIFont systemFontOfSize:[UIFont systemFontSize]] constrainedToSize:CGSizeMake(220, 9999) lineBreakMode:NSLineBreakByWordWrapping];
NSLog(@"Text:%@\nlength: %d\nsize: %f, %f\n",string, length, size.width, size.height, nil);
}
这就是结果。
Text:
length: 1
size: 4.000000, 18.000000
Text:
length: 2
size: 8.000000, 18.000000
Text:
length: 3
size: 12.000000, 18.000000
.
.
.
Text:
length: 56
size: 218.000000, 18.000000
Text:
length: 57
size: 218.000000, 18.000000
Text:
length: 58
.
.
.
Text:
length: 99
size: 218.000000, 18.000000
问题:如何获得正确尺寸的长白色空格字符串?
答案 0 :(得分:1)
这可能是因为你使用NSLineBreakByWordWrapping
并且没有任何文字。
尝试使用NSLineBreakByCharWrapping
。