2014-06-10 2 views
1

NSAttributedString과 그 안에 html로 문제를 해결하려고합니다. 나는 UITableViewCell에 귀속 된 텍스트로 UILabel에 그려 봅니다.원인이있는 문자열의 높이를 계산할 수 없습니다

+ (NSAttributedString *)attributedStringWithHTML:(NSString *)HTML { 
    NSDictionary *options = @{ NSDocumentTypeDocumentAttribute: NSHTMLTextDocumentType }; 
    return [[NSAttributedString alloc] initWithData:[HTML dataUsingEncoding:NSUnicodeStringEncoding] options:options documentAttributes:NULL error:NULL]; 
} 

후 나는를 얻기 위해 클래스 메소드에서 문자열 높이를 계산하려고 :

<span class=\"\">Безвозмездно</span> 

그래서 나는 방법과 기인 문자열을 만든 :

는 내가 HTML 문자열을 셀 높이. 내가 사용

[self.titleLabel sizeToFit]; 

사람이이 문제를 좀 도와 줄래 :

if (attrString.length > 0) { 
    height += truncf([attrString boundingRectWithSize:CGSizeMake(300, CGFLOAT_MAX) 
               options:NSStringDrawingUsesLineFragmentOrigin | NSStringDrawingUsesFontLeading 
               context:nil].size.height) + 1.0f; 
} 

그래서 내가 함께 얻을 레이블보다 작은 라벨의 높이를 얻을?

+2

바운딩 렉에 올바른 크기를 얻으려면 글꼴과 크기를 지정해야 할 수 있습니까? – Shingoo

+0

전 위의 게시물에서와 같은 HTML 문자열이 있습니다 - 어떻게 글꼴과 크기를 변경할 수 있습니까? – ShurupuS

+0

이 게시물을보십시오 : http://stackoverflow.com/questions/12694137/setting-font-on-nsattributedstring-on-uitextview-disregards-line-spacing – Shingoo

답변

0

나는이 질문을 만났다. 그리고 현재 UILabel과 UITextView에 나타납니다. 제 생각에는 애플의 버그입니다. 따라서 결과의 정확성을 보장하기 위해 다음과 같이 높이를 얻는 것이 좋습니다. [self.titleLabel sizeToFit]