如何找出截断的UILabel文本的宽度

JOM*_*JOM 8 iphone truncate uilabel

我有UILabel,其中包含动态文本.有时文本太长而无法显示,因此会自动截断.如何找出截断文本的可见部分的宽度?

sizeThatFits返回未截断文本的长度,所以目前我只能检测何时进行截断.需要知道多少是可见的,包括那三个点.有小费吗?

澄清:当文本被截断时,它通常比UILabel宽度短.

Luk*_*uke 5

机器人K是正确的.

如果我是你,我会做以下事情:

  UILabel *label = [[UILabel alloc] initWithFrame:CGRectMake(0, 0, 200, 24)];
  label.text = @"this is some really long text that i want in a small label";
  [view addSubview:label];

  CGSize size = [label.text sizeWithFont:label.font constrainedToSize:label.frame.size  
                 lineBreakMode:label.lineBreakMode];
Run Code Online (Sandbox Code Playgroud)

这应该给你一个小于200的值(考虑到约束的最大大小和截断方法).