2012-07-23 4 views
0

나는 이것에 대한 게시물이 있지만 유용한 것은 아무것도 없다는 것을 알고 있습니다. 내 문제는 CTFramesetterSuggestFrameSizeWithConstraints가 텍스트의 높이가 너무 작 으면 텍스트가 길어질수록 더 많은 텍스트를 잘라냅니다. . 내가 높이를 계산하는 데 사용하는 코드 :CTFramesetterSuggestFrameSizeWithConstraints가 잘못된 높이를 반환 함

CGFloat widthConstraint = self.frame.size.width; 
CTFramesetterRef framesetter = CTFramesetterCreateWithAttributedString(attrString); 
CGSize suggestedSize = CTFramesetterSuggestFrameSizeWithConstraints(framesetter,CFRangeMake(0, 0),NULL,CGSizeMake(widthConstraint, 20000),NULL); 
CGFloat suggestedHeight = suggestedSize.height; 

내 질문에 내가 갖고있는 choise가 무엇입니까? 어쩌면 몇 가지 해결 방법이 있을까요? 내가 찾은 솔루션 중 하나는 텍스트를 그려야 만 높이를 찾을 수 있지만 그 방법을 모르겠습니다. 어쩌면 누군가가 이것에 대한 해결책을 가지고 있을까요?

감사드립니다.

+0

가능한 중복 [CTFramesetterSuggestFrameSizeWithConstraints 때때로 잘못된 크기를 반환?] (http://stackoverflow.com/questions/3374591/ctframesettersuggestframesizewithconstraints-sometimes-returns-incorrect-size) –

+0

그 누군가가 결정을 발견하지만 만약 내가 요구하고 유사 이, yout 게시 된 유일한 방법은 텍스트를 그리기 및 유일한 높이 다음 .. 링크를 게시하지만 내 문제는 내가 어떻게 도와 줄지 모르겠 :) 일부 튜토리얼 또는 어쩌면 그것을하는 방법에 대한 아이디어. 내가 붙어 있기 때문에 몇 가지 지침 :/ – Lukas

답변

0

아주 오랜 시간이 지난 후에 나는 무엇이 잘못되었는지를 결국 알았습니다. 모든 방법이 의도 된대로 작동하고 인터넷에 없다고 말하는 다른 모든 사람들은 실수를 저질렀다고 생각합니다. 실수는 언제였습니까? 텍스트 그리기 일부 하드 코딩 된 값을 남겨 두었습니다. CTFramesetterSuggestFrameSizeWithConstraints에 문제가있는 경우 드로 코드를 두 번 또는 세 번 확인하십시오! 의

+1

또한 CTFramesetterSuggestFrameSizeWithConstraints가 잘못되었다고 생각됩니다. 필자의 경우, 필자의 속성 문자열은 폰트 높이가 0 점입니다. 당신의 글꼴 사람들을 확인하십시오! – mrwalker

+1

내 글꼴 크기는 코로나입니다. 그러나 내 방법은 18까지 글꼴 크기를 위해 일하고있다. 그러나 내가 더 많이 늘리면 그 높이는 충분하지 않다. – user1010819

+0

내 문제는 CTFrameSetter를 사용하여 측정했지만 그 다음에 CTFrameSetter 대신 [NSString drawInRect : ...]를 사용하여 오래된 그리기 코드를 사용하여 측정했습니다. –

관련 문제