2017-02-28 10 views
0

boundingRectWithSizeを使用してテキストの高さを計算すると、クラッシュが発生します。テキストには絵文字が含まれている可能性があります。 誰かがこれを解決する方法を教えてくれます。boundingRectWithSize絵文字でクラッシュする

CGFloat kScreenMargin = 15.; 
    CGFloat kScreenWidth = [UIScreen mainScreen].bounds.size.width; 

    self.content = @"Eefggg‍‍"; 

    CGFloat contentH = [self.content boundingRectWithSize:CGSizeMake(kScreenWidth - 2 * kScreenMargin, MAXFLOAT) 
                options:NSStringDrawingUsesLineFragmentOrigin 
               attributes:@{NSFontAttributeName:[UIFont systemFontOfSize:14]} context:nil].size.height; 

Here is the crash screenshot

答えて

0

あなたは、第1の符号化文字列に変換し、高さを得る:?

CGFloat kScreenMargin = 15.; 
    CGFloat kScreenWidth = [UIScreen mainScreen].bounds.size.width; 
NSString *strEmo = @"Eefggg‍‍" 
NSData *data = [strEmo dataUsingEncoding:NSNonLossyASCIIStringEncoding]; 
NSString *goodValue = [[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding]; 
self.content = goodValue; 
CGFloat contentH = [self.content boundingRectWithSize:CGSizeMake(kScreenWidth - 2 * kScreenMargin, MAXFLOAT) 
                options:NSStringDrawingUsesLineFragmentOrigin 
               attributes:@{NSFontAttributeName:[UIFont systemFontOfSize:14]} context:nil].size.height; 
+0

中国を行うための方法を – iCloudy

+0

@iCloudy http://stackoverflow.com/questions/14619316/chiness -charecter-encoding-issue-iphone –