줄 간격을 조정하기 위해 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:]를 사용하지 않고 명시적으로 글꼴을 호출합니다.
먼저 NSMutableAttributedString *richtext를 사용하여 label.text를 가져온 다음 setAttributes를 가져온 다음 label.attributedText= richtext를 설정할 수 있습니다
이 문제가 해결되었나요?
NSBaselineOffsetAttributeName이 @0으로 설정되었습니다
또한 stackoverflow에도 유사한 게시물이 있습니다
http://stackoverflow.com/ques...
생각나는 임시 해결책은 표시될 때 uilabel이 줄인지 확인하는 것입니다. 그러니 줄 간격을 0으로 설정하세요
솔루션 소스 코드 주소 https://github.com/673697831/...
더 나은 솔루션을 제안하거나 이 솔루션을 수정해도 좋습니다