我有UILabel,它包含动态文本。有时文本太长,无法显示,因此自动截断了。如何找出截断文本可见部分的宽度?
sizeThatFits返回未截断的文本的长度,因此目前我只能检测何时将进行截断。需要知道有多少是可见的,包括这三个点。有小费吗?
Clarification:当文本被截断时,它通常比UILabel宽度短。
发布于 2010-10-11 06:46:12
机器人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];这应该给出一个小于200的值(考虑到约束的最大大小和截断方法)。
发布于 2010-10-11 06:12:01
如果文本被截断,我不明白为什么宽度会与UILabel的宽度不同。无论如何,您可以使用sizeWithFont:constrainedToSize:计算具有给定字体但受限于“约束大小”的字符串的大小。
https://stackoverflow.com/questions/3903772
复制相似问题