Objective-c - NSParagraphStyle을 사용하여 uilabel에서 줄 간격 설정
仅有的幸福
仅有的幸福 2017-04-28 09:05:08
0
4
862

줄 간격을 조정하기 위해 uilabel에 서식 있는 텍스트를 설정했습니다.

으아아아

label.attributedText = mutableAttStr;
//다음 코드는 이전에 설정되었습니다
// [messageLabel setContentHuggingPriority:UILayoutPriorityRequired forAxis:UILayoutConstraintAxisVertical|UILayoutConstraintAxisHorizontal];
그런 다음 한 줄만 있음을 발견했습니다. 중국의 하단에 공백이 생깁니다(실제로는 lineSpacing 높이)

단어수가 2줄 이상일 경우 하단에 공백이 없습니다(줄 간격 없음)

왜 이런 일이 발생하나요? 어떻게 설정하나요?

또한 - (CGRect)boundingRectWithSize:(CGSize)size options:(NSString DrawingOptions)options attribute:(nullable NSDictionary<NSString , id> )attributes context:(nullable NSString DrawingContext *)context NS_AVAILABLE을 사용합니다. (10_11, 7_0); 중국어는 줄 간격을 추가하고 영어는 추가하지 않은 것을 확인했습니다

[NSString sizeWithAttributes:]가 높이 계산 시 올바르지 않습니다

[UIFont systemFontOfSize:]를 사용하지 않고 명시적으로 글꼴을 호출합니다.

仅有的幸福
仅有的幸福

모든 응답(4)
阿神

먼저 NSMutableAttributedString *richtext를 사용하여 label.text를 가져온 다음 setAttributes를 가져온 다음 label.attributedText= richtext를 설정할 수 있습니다

黄舟

이 문제가 해결되었나요?

我想大声告诉你

NSBaselineOffsetAttributeName이 @0으로 설정되었습니다

仅有的幸福

또한 stackoverflow에도 유사한 게시물이 있습니다
http://stackoverflow.com/ques...
생각나는 임시 해결책은 표시될 때 uilabel이 줄인지 확인하는 것입니다. 그러니 줄 간격을 0으로 설정하세요
솔루션 소스 코드 주소 https://github.com/673697831/...
더 나은 솔루션을 제안하거나 이 솔루션을 수정해도 좋습니다

최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿