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

Dor*_*ron 9 uilabel ios sizetofit right-align

我打电话sizeToFitUILabel这这有右对齐文本.它缩小了高度和宽度,UILabel并使文本适合于左上角UILabel.

现在......这个位置UILabel是不正确的.如何使其UILabel停留在原始位置(右对齐)或移动它以使其显示在原始位置?

再次 - 问题是该sizeToFit方法正在缩小从右侧的宽度UILabel.它将UILabel文本视为左对齐.但我的文字是正确对齐的.所以,右侧边框UILabel是我的文字开始的地方.

shi*_*ami 16

@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
Run Code Online (Sandbox Code Playgroud)


Ste*_*mer 3

检查前后的宽度,然后将视图中心向右移动差值 / 2。

顺便说一句,我认为“盒子”(框架)在两个方向上都缩小了,保持中心完好无损。