调整CoreText的UIView大小

调整CoreText的UIView大小,uiview,core-text,Uiview,Core Text,我正在开发一个应用程序,根据按下哪个按钮,使用coretext将不同的文本文件加载到UIView。不同的文本文件大小差别很大-我是否可以根据调用的文件设置UIView自身大小?目前,我的解决方案是将其设置为容纳最大的文本文件,但当调用最小的文本文件时,屏幕会向下滚动到大量空白处,这看起来有点奇怪。谢谢你的帮助 根据您呈现文本的方式,您可以使用一些NSString方法来确定它将占用多少空间,然后调整UIView的大小以匹配。您需要从文本(属性化字符串)创建CTFramesetterRef,然后使用

我正在开发一个应用程序,根据按下哪个按钮,使用coretext将不同的文本文件加载到
UIView
。不同的文本文件大小差别很大-我是否可以根据调用的文件设置UIView自身大小?目前,我的解决方案是将其设置为容纳最大的文本文件,但当调用最小的文本文件时,屏幕会向下滚动到大量空白处,这看起来有点奇怪。谢谢你的帮助

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

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

有关核心文本图纸尺寸示例源代码,请参阅-近似行号:-292至352