[ios] UILabel에서 여러 줄의 텍스트

UILabel와 같이 여러 줄의 텍스트를 넣을 수있는 방법이 UITextView있습니까? 아니면 두 번째 텍스트를 사용해야합니까?



답변

해결책을 찾았습니다.

다음 코드 만 추가하면됩니다.

// Swift
textLabel.lineBreakMode = .ByWordWrapping // or NSLineBreakMode.ByWordWrapping
textLabel.numberOfLines = 0

// For Swift >= 3
textLabel.lineBreakMode = .byWordWrapping // notice the 'b' instead of 'B'
textLabel.numberOfLines = 0

// Objective-C
textLabel.lineBreakMode = NSLineBreakByWordWrapping;
textLabel.numberOfLines = 0;

// C# (Xamarin.iOS)
textLabel.LineBreakMode = UILineBreakMode.WordWrap;
textLabel.Lines = 0;  

이전 답변을 복원했습니다 (6.0 미만의 iOS를 기꺼이 지원하려는 개발자 및 참조 용).

textLabel.lineBreakMode = UILineBreakModeWordWrap;
textLabel.numberOfLines = 0;

측면에서 : 두 열거 형 값은 0어쨌든 산출됩니다 .


답변

IB에서 줄 수를 0으로 설정합니다 (무제한 줄 허용).

IB를 사용하여 텍스트 필드에 입력 할 때 “alt-return”을 사용하여 리턴을 삽입하고 다음 행으로 이동하십시오 (또는 이미 행으로 구분 된 텍스트를 복사 할 수 있습니다).


답변

내가 찾은 최고의 솔루션 (프레임 워크에서 해결 해야하는 실망스러운 문제)은 vaychick의 솔루션과 유사합니다.

IB 또는 코드에서 줄 수를 0으로 설정하십시오.

myLabel.numberOfLines = 0;

그러면 필요한 줄이 표시되지만 레이블이 가로 중앙에 오도록 레이블을 재배치합니다 (1 줄 및 3 줄 레이블이 가로로 정렬 됨). 그 추가를 수정하려면 다음을 수행하십시오.

CGRect currentFrame = myLabel.frame;
CGSize max = CGSizeMake(myLabel.frame.size.width, 500);
CGSize expected = [myString sizeWithFont:myLabel.font constrainedToSize:max lineBreakMode:myLabel.lineBreakMode];
currentFrame.size.height = expected.height;
myLabel.frame = currentFrame;


답변

여러 줄의 텍스트를 사용하려면 다음을 사용하십시오 UILabel.

textLabel.lineBreakMode = NSLineBreakByWordWrapping;
textLabel.numberOfLines = 0;

빠른:

textLabel.lineBreakMode = .byWordWrapping
textLabel.numberOfLines = 0


답변

myUILabel.numberOfLines = 0;
myUILabel.text = @"your long string here";
[myUILabel sizeToFit];


답변

당신이 사용해야하는 경우 :

myLabel.numberOfLines = 0;

property ("\n")코드에서 표준 줄 바꿈을 사용 하여 새 줄을 강제 설정할 수도 있습니다 .


답변

using \r을 채우는 동안 다음 줄로 이동할 수 있습니다 .UILabelNSString

UILabel * label;


label.text = [NSString stringWithFormat:@"%@ \r %@",@"first line",@"seconcd line"];