在iOS中 - 如何在不改变其位置的情况下将UILabel放入其文本中?

我在
UILabel
上调用
sizeToFit
,其中有正确的对齐文本。它缩小了
UILabel
的高度和宽度,并使文本适合
UILabel
的左上角。 现在......
UILabel
的位置不正确。如何使
UILabel
保持原始位置(右对齐)或移动它以使其显示在原始位置? 再次 - 问题是
sizeToFit
方法正在缩小
UILabel
右侧的宽度。它将
UILabel
文本视为左对齐。但我的文字是正确对齐的。所以,
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
    

要回复问题请先登录注册