iOS7에서는 font뿐만 아니라, 다른 Attribute들도 높이를 구할 때 필요하므로 font만 참고하는 것이 아니라, attributes라고 NSDictionary를 받아서 구하게 됩니다.
sizeWithFont:constrainedToSize (Deprecated)
//특정 영역 (268, 4000)의 크기에서 myString에 있는 글의 높이를 iOS6에서 구하는 방법 UIFont *font = [UIFont fontWithName:@"HelveticaNeue-Light" size:10]; CGSize aboutSize = [myString sizeWithFont:font constrainedToSize:CGSizeMake(268, 4000)];
Xcode5에서는 boundingRectWithSize:options:attributes:context:를 사용하라고 나옵니다.
//폰트가 따로 정리가 되어 있지 않는 경우는 UIFont *font = [UIFont fontWithName:@"HelveticaNeue-Light" size:10]; CGRect aboutRect = [myString //높이를 구할 NSString boundingRectWithSize:CGSizeMake(268, CGFLOAT_MAX) options:NSStringDrawingUsesLineFragmentOrigin attributes:@{NSFontAttributeName:font} context:nil];
만약 일반 NSString이 아니고, NSAttributedString을 사용하고 있으면, attributes가 없는 함수를 사용하면 됩니다.
//폰트가 따로 정리가 되어 있지 않는 경우는 UIFont *font = [UIFont fontWithName:@"HelveticaNeue-Light" size:10]; NSAttributedString *myAttributedString = [[NSAttributedString alloc] initWithString:myString CGRect aboutRect = [myAttributedString //높이를 구할 NSAttributedString boundingRectWithSize:CGSizeMake(268, CGFLOAT_MAX) options:NSStringDrawingUsesLineFragmentOrigin context:nil];
정리해 둡니다.
댓글 없음:
댓글 쓰기