调整UIView的CoreText大小

时间:2013-06-10 11:48:07

标签: uiview core-text

我在应用程序上工作,根据按下的按钮,使用coretext将不同的文本文件加载到UIView。不同的文本文件大小差异很大 - 无论如何我可以设置UIView根据调用的文件调整自身大小吗?目前我的解决方案是将其设置为容纳最大的文本文件,但是当调用最小的文本文件并且屏幕可以向下滚动很多空白区域时,它看起来有点奇怪。谢谢你的帮助!

2 个答案:

答案 0 :(得分:0)

根据您渲染文本的方式,您可以使用一些NSString sizeWithFont方法来确定它将占用多少空间,然后调整UIView的大小以匹配。

答案 1 :(得分:0)

您需要从文本中创建CTFramesetterRef(归属字符串),然后使用CTFramesetterSuggestFrameSizeWithConstraints函数计算视图宽度的文本绘制高度,更新视图的大小并使用它绘制核心文本CTFrameRef

对于核心文本绘图大小示例源代码,请参阅EGOTextView.m - 近似行号: - 292到352.