[objc] OHAttributedLabel 높이 계산 문제, NSAttributedString
UILabel을 사용할 때 NSString의 sizeWithFont를 사용하듯,
OHAttributedLabel을 사용하면, 자간의 차이 때문에 (일본어를 사용할 시에행간이 달라짐)
height의 결과가 달라진다.
특히 테이블에 넣었을 때, 애로사항이 꽃핀다.
해결방법으로는 구글 선생님과 상담결과 행간을 조절한다. 라고 하는데
뭘 잘못했는지 잘 안됨.
http://eikatou.net/blog/2012/09/ios_rich_uilabel_2/
CoreText의 버그라는 말도 보인다.
http://cafe.naver.com/mcbugi/255603
일본어의 문제는 인식하고 있지만, 영어의 문제는 확인하지 않았다.
//행간을 조절할 수 있다는데 테스트해보지 않음.
NSMutableAttributedString *attributedString;
attributedString = [[NSMutableAttributedString alloc] initWithString:str];
// [attributedString addAttribute:NSKernAttributeName value:@5 range:NSMakeRange(10, 5)];
http://stackoverflow.com/questions/7370013/how-to-set-kerning-in-iphone-uilabel
다른 방법이 없는 지 몇시간을 파닥대다가...
OHAttributedLabel에 문자열을 넣을 때, NSString이 아닌 NSAttributeString을 넣고,
계산할 때, NSAttributedString의 sizeConstrainedToSize를 사용하면, 달라진 자간에 대한 정확한 결과를 얻을수 있는 듯하다.