在iOS中 – 我如何适应一个UILabel的文字,而不改变其位置?

我打电话sizeToFit一个UILabel上的sizeToFit ,它有正确的alignment文本。 它缩小UILabel的高度和宽度,并将文本放在UILabel左上angular。

现在… UILabel的位置不正确。 我怎样才能使UILabel保持在原来的位置(右alignment)或移动它,使它会出现在原来的位置?

再次 – 问题是sizeToFit方法正在从UILabel的右侧收缩宽度。 它将UILabel文本视为左alignment。 但是我的文本是正确的。 所以, UILabel的右边框是我的文本开始的地方。

你检查之前和之后的宽度,然后移动视图的中心右/差异2。

顺便说一句,我认为“框”(框)在两个方向收缩,保持中心完整。

 @implementation UILabel (Additions) - (void)sizeToFitWithAlignmentRight { CGRect beforeFrame = self.frame; [self sizeToFit]; CGRect afterFrame = self.frame; self.frame = CGRectMake(beforeFrame.origin.x + beforeFrame.size.width - afterFrame.size.width, self.frame.origin.y, self.frame.size.width, self.frame.size.height); } @end