首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何找出截断UILabel文本的宽度

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

Stack Overflow用户
提问于 2010-10-11 05:47:00
回答 2查看 3.4K关注 0票数 8

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

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

Clarification:当文本被截断时,它通常比UILabel宽度短。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2010-10-11 06:46:12

机器人K是正确的。

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

代码语言:javascript
复制
  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];

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

票数 5
EN

Stack Overflow用户

发布于 2010-10-11 06:12:01

如果文本被截断,我不明白为什么宽度会与UILabel的宽度不同。无论如何,您可以使用sizeWithFont:constrainedToSize:计算具有给定字体但受限于“约束大小”的字符串的大小。

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3903772

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档