Tag: sizewithfont

UILineBreakMode与NSLineBreakMode

我看到一些UIStringDrawing方法已经被更新为在iOS 6.0中使用NSLineBreakMode而不是UILineBreakMode: 例如 – (CGSize)sizeWithFont:(UIFont *)font constrainedToSize:(CGSize)size lineBreakMode:(NSLineBreakMode)lineBreakMode 我如何检查这个以确保我的iOS 5用户和下面的用户继续使用UILineBreakMode?

检查string中是否包含表情符号

我正在用这个string的文本大小 textSize = [[tempDict valueForKeyPath:@"caption.text"] sizeWithFont:[UIFont systemFontOfSize:12] constrainedToSize:CGSizeMake(280, CGFLOAT_MAX) lineBreakMode: NSLineBreakByWordWrapping]; 我唯一的问题是,如果string只包含一个表情符号,我的应用程序崩溃。 有没有简单的方法来检查表情符号,还是我必须创build一个所有可能的表情符号,然后检查他们使用? 错误: -[NSNull sizeWithFont:constrainedToSize:lineBreakMode:]: unrecognized selector sent to instance 0x3aa88a60 if ([tempDict valueForKeyPath:@"caption.text"]){ NSLog(@"%@", [tempDict valueForKeyPath:@"caption"]); //Measure the message label box height textSize = [[tempDict valueForKeyPath:@"caption.text"] sizeWithFont:[UIFont systemFontOfSize:12] constrainedToSize:CGSizeMake(280, CGFLOAT_MAX) lineBreakMode: NSLineBreakByWordWrapping]; int height = 320 + 20 + textSize.height; [cellHeight addObject:[NSNumber numberWithInt:height]]; […]

如何使用NSString的sizeWithFont和drawInRect来锻炼多lessstring来绘制

我在iOS中使用CGContext绘制多个图像的“页面”。 我在我的应用程序中广泛使用了sizeWithFont和drawInRect组合。 我需要做的是将多个文本分成多个页面。 我可以确定它是否需要另一个页面,但是我怎么知道在哪里切割? 我必须做一个丑陋的循环逐字检查,直到我find一个完全适合页面的string长度,然后在那一点上切断string? 有更聪明的方法吗? 有任何想法吗? 谢谢。

获取NSString高度

我有一个NSString,我想知道它的高度来创build一个合适的UILabel。 这样做 NSString *string = @"this is an example"; CGSize size = [string sizeWithFont:[UIFont systemFontOfSize:10.0f] forWidth:353.0 lineBreakMode:UILineBreakModeWordWrap]; float height = size.height; 身高现在是13.0。 如果我使用这个string NSString *string = @"this is an example this is an example this is an example this is an example this is an example this is an example this is an example this […]