【问题标题】:iOS Is there any limitation of white space number in sizeWithFont:constrainedToSize:lineBreakMode?iOS sizeWithFont:constrainedToSize:lineBreakMode 中的空白数是否有限制?
【发布时间】:2013-11-01 04:59:57
【问题描述】:

我正在 iPhone 上制作聊天应用程序。 我对 sizeWithFont:constrainedToSize:lineBreakMode 函数有疑问。 当 NSString 有很长的长度空白时,sizeWithFont() 总是返回 (width:218, height: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

问题:如何获得正确大小的长空白字符串?

【问题讨论】:

    标签: ios nsstring sizewithfont


    【解决方案1】:

    可能是因为你用的是NSLineBreakByWordWrapping,没有字。

    尝试使用NSLineBreakByCharWrapping

    【讨论】:

    • 我尝试测试“NSLineBreakByCharWrapping”。结果是一样的。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-09-21
    • 1970-01-01
    相关资源
    最近更新 更多