0

これに関する投稿があることは知っていますが、どれも有用なものを示唆していません。したがって、私の問題は、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;

だから私の質問は私が持っている選択肢は何ですか?多分いくつかの回避策がありますか?私が見つけた解決策の1つは、テキストを描画してから高さを見つけることですが、その方法がわかりません。それで、多分誰かがこれに対するいくつかの解決策を持っていますか?

よろしくお願いします!!

4

1 に答える 1

0

非常に長い時間の後、私は最終的に何が間違っているかを発見しました..結局、方法は意図したとおりに機能し、インターネット上にないと言っている他のすべての人はいくつかの間違いを犯したと思います..私の間違いは、テキストを描画するときでした.ハードコーディングされた不適切な値がいくつか残されています。CTFramesetterSuggestFrameSizeWithConstraints に問題がある場合は、描画コードを 2 回または 3 回チェックしてください。

于 2012-08-08T13:59:12.250 に答える