2010-08-31 82 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邊緣的照顧。