我試圖縮進UILabel中的文本以在顯示背景顏色的文本週圍留下一些邊距。以下的建議here我重寫textRectForBounds:limitedToNumberOfLines:
像這樣:UILabel textRectForBounds在嘗試創建保證金時沒有效果
- (CGRect)textRectForBounds:(CGRect)bounds limitedToNumberOfLines:(NSInteger)numberOfLines
{
CGRect intermediate = CGRectMake(bounds.origin.x+MARGIN,bounds.origin.y+MARGIN,bounds.size.width-2*MARGIN,bounds.size.height-2*MARGIN);
return [super textRectForBounds:intermediate limitedToNumberOfLines:numberOfLines];
}
但無論我做什麼,文本緊結束了對矩形的左邊框。看起來好像圖畫忽略了CGRect的原點部分(雖然它看起來像是寬度部分,好像我減小到中間寬度,例如bounds.size.width-200
,但是textRectForBounds返回的矩形適當地縮小並且文本被繪製在一個很長的瘦列中)。
所以:我還需要做什麼UILabel
使圖紙尊重textForRectBounds
-returned-rect的origin.x和origin.y?如果我可以幫忙,我寧願不要覆蓋UILabel
的drawTextInRect
。
更新:這是很久以前,我不記得爲什麼其他問題不適合我。我相信這是因爲我試圖使用多行的UILabel
,而解決方案here在這種情況下不起作用。
您是否試過直接返回`intermediate`? – 2011-02-05 13:20:50
是的,但它沒有區別。 – damian 2011-02-05 15:45:15