我在应用程序上工作,根据按下的按钮,使用coretext将不同的文本文件加载到UIView
。不同的文本文件大小差异很大 - 无论如何我可以设置UIView根据调用的文件调整自身大小吗?目前我的解决方案是将其设置为容纳最大的文本文件,但是当调用最小的文本文件并且屏幕可以向下滚动很多空白区域时,它看起来有点奇怪。谢谢你的帮助!
答案 0 :(得分:0)
根据您渲染文本的方式,您可以使用一些NSString sizeWithFont方法来确定它将占用多少空间,然后调整UIView的大小以匹配。
答案 1 :(得分:0)
您需要从文本中创建CTFramesetterRef
(归属字符串),然后使用CTFramesetterSuggestFrameSizeWithConstraints
函数计算视图宽度的文本绘制高度,更新视图的大小并使用它绘制核心文本CTFrameRef
。
对于核心文本绘图大小示例源代码,请参阅EGOTextView.m - 近似行号: - 292到352.