0
如果我有,我已經用字符串初始化像這樣任何方式(很容易)確定格式化Framesetter所需的最小寬度?
CTFramesetterRef framesetter = CTFramesetterCreateWithAttributedString(attrString);
我想找到的最小寬度,以顯示在框架中最大的字符串framesetter。是否有捷徑可尋?我可以通過迭代線和運行並從那裏計算它,但它看起來像是會有方法的東西,因爲它會在內部計算它。
我試圖
CGSize sz = CTFramesetterSuggestFrameSizeWithConstraints(framesetter, CFRangeMake(0,0), NULL, CGSizeMake(1, CGFLOAT_MAX), NULL);
,但它只是返回一定的大小,這似乎是一個字形的寬度。
TIA
感謝您的支持 - 我所追求的是一種查找單詞寬度的方法,例如在'這是一個測試'我想要'測試'這個詞的寬度。我可以通過拉開字符串和解析自己來完成。我認爲可能有一種方法可以在覈心文本中實現,因爲前期製作者必須在內部完成這項工作,但似乎沒有辦法獲取這些信息。 – daven11 2012-03-11 23:04:35
如果你把你的框架分成幾行,並且你的代碼輪流運行,你應該在那裏找到API,它可以讓你獲得單個角色的位置以及一系列角色的緊密邊界框。 – MrO 2012-03-13 17:17:11