plist에서 도움말 텍스트를로드하고 UIScrollView에 보관 된 UILabels의 형태로 같은 내용을 표시합니다. 코드의 부분은 다음과 같습니다 어떤 '긴'텍스트가 올바르게 여러 행으로 감싸지고 있지만UILabel에서 줄 바꿈이 작동하지 않습니다.
UILabel *sectionDetailLabel = [[[UILabel alloc] initWithFrame:CGRectMake(34, myOriginForThisSection, 286, 20)] autorelease];
sectionDetailLabel.backgroundColor = [UIColor clearColor];
sectionDetailLabel.numberOfLines = 0;
sectionDetailLabel.font = [UIFont systemFontOfSize:12];
sectionDetailLabel.textColor = [UIColor blackColor];
sectionDetailLabel.textAlignment = UITextAlignmentLeft;
sectionDetailLabel.lineBreakMode = UILineBreakModeWordWrap;
[baseScrollView addSubview:sectionDetailLabel];
[sectionDetailLabel setText:myStringForThisSection];
[sectionDetailLabel sizeToFit];
, 내가 'myStringForThisSection의 문자'N \ '수동으로 줄 바꿈을 사용하는 행 구분을 삽입 할 수 없어요 '. 대신 줄 바꿈을 원할 때마다 UILabel에 '\'및 'n'문자 만 표시됩니다.
나는 이것을 보았고 일반적인 합의는 numberOfLines를 0으로 설정하고 lineBreakMode를 유효한 값으로 설정하고 sizeToFit을 호출하거나 sizeWithFont에 기반한 UILabel의 프레임을 설정해야한다고 생각했습니다. :) 이 모든 것들은 위의 코드에서 보이는 것처럼 보이며, 알려지지 않은 길이의 긴 문자열을 UILabel의 여러 줄에 넣을 때 완벽하게 작동합니다. 그럼 여기서 무엇을 놓칠 수 있겠습니까?
참고 : baseScrollView, myStringForThisSection 및 myOriginForThisSection과 같은 모든 변수는 위 코드가 실행되기 전에로드되어 정상적으로 작동합니다.
경우이 발생합니다. 코드에서 선언되었거나 생성 된 경우 (아마도 plist에서도 가능), 개행은 그 자체로 인코딩됩니다. 하지만 그 줄이 공백 줄이면 줄 바꿈 뒤에 공백이 와야합니다. –