当前位置: 代码迷 >> Iphone >> NSString的drawInRect方法如何样获得文字的高度
  详细解决方案

NSString的drawInRect方法如何样获得文字的高度

热度:26   发布时间:2016-04-25 06:04:16.0
NSString的drawInRect方法怎么样获得文字的高度

    NSString* str = @"hello kitty, would you tell me why do you want to go to shanghai?"; 
     
    //这一句,我要怎么才能知道上面文字分行之后的确切高度,而不是给定一个固定值200? 
    [str drawInRect:NSMakeRect(10, 20, 100, 200) withAttributes:nil]; 
     
    [str release];

------解决方案--------------------
- (CGSize)sizeWithFont:(UIFont *)font constrainedToSize:(CGSize)size lineBreakMode:(NSLineBreakMode)lineBreakMode;
此方法可以计算出文字放到一个固定的(constrainedToSize)大小里面的宽高;
比如你的:CGSize strSize = [str sizeWithFont:[UIFont systemFontOfSize:16]
                     constrainedToSize:CGSizeMake(100, CGFLOAT_MAX)
                         lineBreakMode:UILineBreakModeCharacterWrap];