2011-06-14 3 views
5

여러 줄로 된 레이블이 있습니다. 레이블의 텍스트가 항상 레이블의 높이와 줄 수와 관계없이 왼쪽 위 모퉁이에서 시작되기를 원합니다.레이블 여러 줄로 된 텍스트 맞춤

는 지금은 속성

[question1Label setContentMode: UIViewContentModeTopLeft]; 

를 사용하고 있지만 내가 contentMode 재산 UILabel의의 해당 텍스트의 영향을 미치지 않는 것으로 나타났습니다

감사

답변

6

작동하지 않음 조정. textAlignment 속성을 사용하십시오.

label.textAlignment = UITextAlignmentLeft; 

편집 :이 텍스트 센터에서 왼쪽으로 정렬됩니다. 상단 왼쪽에서 텍스트를 표시하려면 sizeWithFont: 방법을 사용하여 텍스트의 높이를 찾아야합니다. NSString. See this SO post 어떻게 해야할지 알고 있습니다. UIControl의contentVerticalAlignment 속성을 상속 당신이 UITextField 사용할 수있는 대체, UIControl의 서브 클래스로

.

textField.contentVerticalAlignment = UIControlContentVerticalAlignmentTop; 

이 속성을 사용하면 텍스트를 맨 위에 정렬 할 수 있습니다. userInteractionEnabled 속성을 사용하여 사용자가 텍스트를 편집하지 못하게 할 수 있습니다.

+1

이 속성을 사용하지만 텍스트는 왼쪽부터 정렬하지만 상단부터 텍스트를 시작하고 싶습니다. – Rachit

+0

@Rachit Taneja, 업데이트 된 답변보기 – EmptyStack

0

UITextAlignmentLeft가 감가 상각되어 허용 된 대답이 더 이상 효과가 없습니다.

다음 작품은 훌륭합니다!

// Allow multiline label centered 
[label setNumberOfLines:0]; 
[label setTextAlignment:NSTextAlignmentCenter];