2010-08-31 86 views
3

如何找到UILabel中最后一个字符的坐标,如果我们有超过1行的文本呢? 我想在文字的末尾添加图片。UILabel在UILabel文本的末尾

+0

我认为你更好的使用web视图。 – Nick 2010-08-31 07:59:51

+0

已解决。 wholeSize - sizeWithBounding = X; 谢谢大家! – victor 2010-08-31 11:42:21

+0

嘿@victor,你究竟如何计算终点?我有类似的问题在多行文本的最后一个字符之后放置另一个视图。我正在用CGContextGetTextPosition进行搜索和尝试,但我无法使其工作。你能回复吗? – Tushar 2012-10-28 10:56:49

回答

0

不完全是,但您可以做的是找出您的标签必须使用-[NSString sizeWithFont:constrainedToSize:lineBreakMode:]才能容纳您的文字的高度,一旦您拥有了身高,您就可以从此处着手,了解标签的右侧边缘,以及高度,如何将图像定位为容器视图的子视图。也就是说,您可能希望将其立即添加到标签底部标签的右侧,在这种情况下,将其添加为子视图,其中x轴是标签的右侧边缘(标签的x轴+宽度),并且imageview将其y轴设置为标签的y轴+标签的高度,减去字体的大小应将其放在正确的位置,但是,您可能希望不使用标签的在最后一次计算中使用font height属性来使用imageview的高度,所以它与标签的底部和图像视图的底部齐平......很难说如果没有看到一个模型真的。

无论如何,这应该足以让你继续。

0

您可以使用此代码根据宽度和内容获取文本的高度。

尝试此代码并将图像放入给定的高度。

-(float)getHeightByWidth:(NSString*)myString:(UIFont*)mySize:(int)myWidth 

{ 

    CGSize boundingSize = CGSizeMake(myWidth, CGFLOAT_MAX); 
    CGSize requiredSize = [myString sizeWithFont:mySize constrainedToSize:boundingSize lineBreakMode:UILineBreakModeWordWrap]; 
    return requiredSize.height; 
} 

编码快乐......

+1

我知道如何找到身高。我需要找到UILabel文本最后一行的宽度。 – victor 2010-08-31 08:51:20

0

sizeWithFont不走UILabel边缘的照顾。