2011-04-05 4 views
9

UILabel에 오른쪽으로 정렬 된 텍스트가있는 sizeToFit을 호출하려고합니다. UILabel의 높이와 너비를 축소하고 텍스트를 UILabel의 왼쪽 상단에 맞 춥니 다.iOS에서 - 위치를 변경하지 않고 텍스트에 UILabel을 맞추려면 어떻게합니까?

이제 ... UILabel의 위치가 잘못되었습니다. UILabel을 원래 위치 (오른쪽 정렬)로 유지하거나 이동하여 원래 위치로 나타나게하려면 어떻게해야합니까?

다시 한 번 문제는 sizeToFit 메서드가 UILabel의 오른쪽에서 너비를 축소하고 있다는 것입니다. UILabel 텍스트를 왼쪽 정렬로 처리하고 있습니다. 하지만 제 텍스트는 올바르게 정렬되어 있습니다. 따라서 UILabel의 오른쪽 테두리는 내 텍스트가 시작되는 곳입니다.

답변

3

그런 다음 그런데 바로 차이/2

에 의해 뷰의 중심을 이동 한 후 & 전에 폭을 확인, 나는 유지하면서 "상자"(프레임) 양 방향으로 축소 생각 센터는 그대로.

15
@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 
+0

깔끔한. 좋은 제안! – Rambatino

관련 문제