我正在调用sizeToFit
其中UILabel
包含右对齐文本的内容。它会缩小 的高度和宽度,UILabel
并将文本放在 . 的左上角UILabel
。
现在......的位置UILabel
不正确。如何使UILabel
停留在其原始位置(右对齐)或移动它以使其出现在其原始位置?
再一次 - 问题是该sizeToFit
方法正在从UILabel
. 它将UILabel
文本视为左对齐。但我的文字是右对齐的。所以,右边的边框UILabel
是我的文本开始的地方。
我正在调用sizeToFit
其中UILabel
包含右对齐文本的内容。它会缩小 的高度和宽度,UILabel
并将文本放在 . 的左上角UILabel
。
现在......的位置UILabel
不正确。如何使UILabel
停留在其原始位置(右对齐)或移动它以使其出现在其原始位置?
再一次 - 问题是该sizeToFit
方法正在从UILabel
. 它将UILabel
文本视为左对齐。但我的文字是右对齐的。所以,右边的边框UILabel
是我的文本开始的地方。
@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
您检查前后的宽度,然后将视图的中心向右移动差异 / 2。
顺便说一句,我认为“盒子”(框架)在两个方向上都缩小了,保持中心完好无损。