如何知道UILabelView中显示的文字?我有一个大文本,我将有3个uilabels代表3个iPad应用程序,如NYTimes。当我把大文本放在第一列(UILabelView)时,我需要知道那里显示了多少文本..
如果你建议另一种解决方案,请告诉我。 查理
答案 0 :(得分:0)
您要求的是一种衡量文字的方法。 iPhone SDK记录了一种方法,可以找出文本主体的大小,但不知道文本在给定空间中的适合程度。您可以使用前者迭代地执行后者。
在UIStringDrawing.h中查找以下方法:
- (CGSize)sizeWithFont:(UIFont *)font forWidth:(CGFloat)width lineBreakMode:(UILineBreakMode)lineBreakMode;
使用此方法对字符串的不同长度子字符串执行(最好是二进制)搜索,直到找到适合特定高度的子字符串。您现在已经知道第一个UILabel可以显示多少文本。重复每列。
你也可以在CoreText中使用CTTypesetter,但这是3.2前进。