我正在尝试缩进 UILabel 中的文本,以便在显示背景颜色的文本周围留出一些边距。按照这里的建议,我已经textRectForBounds:limitedToNumberOfLines:
像这样覆盖了:
- (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
's 。drawTextInRect
更新:这是很久以前的事了,我不记得为什么另一个问题对我不起作用。我相信这是因为我试图拥有UILabel
多行,而这里的解决方案在这种情况下不起作用。